[問題] OpenCV處理RGB取mean值的問題
小弟最近剛開始使用OpenCV做影像處理
有些問題想要請教
這個程式主要目的在於讀出一連串圖片的RGB值
接著對於G-channel取mean值
其中讀取RGB值及取mean的部分程式如下:
IplImage* RChannel = cvCreateImage(cvGetSize(inputImage),IPL_DEPTH_8U,1);
IplImage* GChannel = cvCreateImage(cvGetSize(inputImage),IPL_DEPTH_8U,1);
IplImage* BChannel = cvCreateImage(cvGetSize(inputImage),IPL_DEPTH_8U,1);
cvSplit(inputImage,BChannel,GChannel,RChannel,0);
//以上為取RGB部分
double greenSum = 0.0;
for(int i = 0 ; i < GChannel->height ; i++)
{
for(int j = 0 ; j < GChannel->width ; j++)
{
greenSum += (double)cvGetReal2D(GChannel,i,j);
}
}
greenSum /= ((GChannel->height)*(GChannel->width));
//以上為加總並除以圖片size
cout << greenSum << endl;
取RGB的部分參考過板上的文章以及GOOGLE的幫忙
應該是沒問題
但是在取mean值時遇到一點小小的問題
因為程式輸出的結果跟MATLAB的結果差異有點大
可能是取mean的過程有錯
想問問看小弟的方法有錯嗎?
主要想法是將此張圖片的G-Channel加總再除以圖片SIZE
麻煩高手幫忙解答
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.148.167
推
12/05 23:01, , 1F
12/05 23:01, 1F
→
12/05 23:05, , 2F
12/05 23:05, 2F
→
12/05 23:27, , 3F
12/05 23:27, 3F
→
12/05 23:27, , 4F
12/05 23:27, 4F
→
12/05 23:27, , 5F
12/05 23:27, 5F
→
12/05 23:35, , 6F
12/05 23:35, 6F
→
12/05 23:47, , 7F
12/05 23:47, 7F
→
12/05 23:57, , 8F
12/05 23:57, 8F
→
12/05 23:57, , 9F
12/05 23:57, 9F
→
12/05 23:58, , 10F
12/05 23:58, 10F
→
12/05 23:59, , 11F
12/05 23:59, 11F
→
12/05 23:59, , 12F
12/05 23:59, 12F
→
12/06 00:05, , 13F
12/06 00:05, 13F
→
12/06 00:12, , 14F
12/06 00:12, 14F
→
12/06 00:14, , 15F
12/06 00:14, 15F
→
12/06 00:14, , 16F
12/06 00:14, 16F