あるopencvのコード、なぜカラーでいいグレーが
int main( int argc, char** argv )
{
Mat image = imread("test.png",1 );
Mat new_image = Mat::zeros( image.size(), image.type() );
for( int y = 0; y < image.rows; y++ )
{
for( int x = 0; x < image.cols; x++ )
{
for( int ll = -1; ll <= 1; ll++ )
{
for( int mm = -1; mm <= 1; mm++ )
{
if (x+ll >= 0 && x+ll < image.cols &&
y+mm >= 0 && y+mm < image.rows)
{
Vec3b &ff1 = image.at<Vec3b>(y+mm, x+ll);
new_image.at<Vec3b>(y,x)[0] += ff1[0] / 9;
new_image.at<Vec3b>(y,x)[1] += ff1[1] / 9;
new_image.at<Vec3b>(y,x)[2] += ff1[2] / 9;
}
}
}
}
}
namedWindow("Original Image", 1);
namedWindow("New Image", 1);
imshow("Original Image", image);
imshow("New Image", new_image);
waitKey();
return 0;
}
このコード、なぞカラーで読み込むのはokで、1を0にして、グレーではだめですか?
もしグレーでやりたいのなら、このコードどう修正すればよろしいですか?
どうぞご指導のほどよろしくお願いいたします!
お礼
すばやい回答ありがとうございます。 まさに私が探していたサイトとはこのようなものです。