[問題] openCV pixel值有誤差
在使用openCV的CvScalar寫入pixel value時
我用以下方式
for(int i = 0; i < height;i++)
for(int j = 0; j < width; j++){
s = cvGet2D(img,i,j); // get the (i,j) pixel value
if(s.val[0]==0)
{
cvSet2D(img1,i,j,cvScalar(0,0,0));
cvSet2D(img2,i,j,cvScalar(255,255,255));
}
else
{
cvSet2D(img1,i,j,cvScalar(255,255,255));
cvSet2D(img2,i,j,cvScalar(0,0,));
}
}
img是input image,img1 img2是輸出的image
最後用cvSaveImage儲存 img1 img2
而當我把輸出的影像pixel值讀出來檢查
s=cvGet2D(img1,i,j); // get the (i,j) pixel value
printf("%f %f %f \n",s.val[0],s.val[1],s.val[2]);
卻發現pixel值有誤差,照理說所有的值都必須全為 (0,0,0)或者(255,255,255)
但是卻發現有 253, 254 或者 1, 2這種奇怪的值
請問這個問題該如何解決?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.108
※ 編輯: TNC 來自: 140.112.25.108 (11/30 14:00)
推
11/30 14:56, , 1F
11/30 14:56, 1F
→
11/30 14:57, , 2F
11/30 14:57, 2F
→
11/30 14:58, , 3F
11/30 14:58, 3F
→
11/30 15:03, , 4F
11/30 15:03, 4F
→
11/30 15:04, , 5F
11/30 15:04, 5F
推
11/30 15:05, , 6F
11/30 15:05, 6F
→
11/30 15:06, , 7F
11/30 15:06, 7F
→
11/30 15:10, , 8F
11/30 15:10, 8F
推
11/30 15:11, , 9F
11/30 15:11, 9F
→
11/30 15:17, , 10F
11/30 15:17, 10F
→
11/30 15:17, , 11F
11/30 15:17, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章