我想知道如何应用这个“水平位置,计算图像左边缘的像素,可以用方框内所有”开“像素绘制的最小矩形框的中心。” 请注意,框==图像
使用opencv代码
任何帮助
答案 0 :(得分:0)
我不确定我是否正确理解你,但这是我建议计算图像中的像素。
我在下面使用的Mat图像是灰度图像,如果要计算3通道RGB图像上的像素,则需要分割其通道并单独处理它们。
Mat image= imread( "C:\\1.jpg" );// load your image by giving the path here.
Mat grayscale_image;
cvtColor(image,grayscale_image,CV_RGB2GRAY);/* this converts "image" to
"grayscale_image" which is a one channel image.*/
//Now you can play with its pixels
int sumPixels=0;
for(int i=0; i<image.rows; i++)
{
for(int j=0;j<image.cols;j++)
sumPixels+=image.at<uchar>(i,j);
}
/* value of a pixel on a gray scale image(if it is a 8 bit image) varies between
0 and 255. "sumPixels" variable will contain the total pixel values of image.*/
答案 1 :(得分:0)
此代码尝试通过对每列的所有白色像素求和来找到每行的白色像素。
int sum_of_x = 0;
for(int i = 0; i < height; i++)
{
for(int j = 0; j < width; j++)
{
if(data[i*step + j]==255)
sum_of_x = sum_of_x + 1;
}
cout<<"Row No #"<<i<<", White Pixel at each ROW = "<<sum_of_x<<endl;
}
干杯。