[問題] 用opencv比較兩張圖片相似度

看板C_and_CPP (C/C++)作者 (Eterne)時間16年前 (2009/10/05 17:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
int H,W,DIFF=0,a,b; CvScalar Scalar1; CvScalar Scalar2; for(H = 0;H<Height;H++) { for(W = 0;W<Width;W++) { Scalar1 = cvGet2D(pFrame,W,H); Scalar2 = cvGet2D(pBkImg,W,H); if(Scalar1 != Scalar2) { DIFF++; } } } if(DIFF>Height*Width/4) { printf("diff"); } 上面是我的片段程式碼,pFrame跟pBkImg是兩張圖片, 我想將它們寫成迴圈一個點一個點來比對他們的顏色差, 當總和誤差大於25%的時候就輸出 diff, 但是CvScalar是個矩陣,不能直接寫!=來判斷, error C2678: binary '!=' : no operator defined which takes a left-hand operand of type 'struct CvScalar' (or there is no acceptable conversion) 我測試的時候他都顯示上面這個錯誤, 想請問改才能將矩陣變成一純量來比較, 又或者有其他方式能比對圖片? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.205.82.152 ※ 編輯: EterneLilac 來自: 123.205.82.152 (10/05 17:54)
文章代碼(AID): #1AoS7WoE (C_and_CPP)
文章代碼(AID): #1AoS7WoE (C_and_CPP)