在 openCV 中访问某些像素的强度值(灰度图像)
Accessing certain pixel's intensity value(grayscale image) in openCV
我刚刚意识到,在大量搜索如何访问OpenCV中的像素的强度值之后,网络上没有什么。灰度图像。
大多数在线搜索都是关于如何访问颜色映像的BGR值,例如:访问OpenCV中的某些Pixel RGB值
image.at<>基本上是针对3个通道,即出于好奇的BGR,从访问灰度图像的某个像素值的OpenCV中是否有其他类似的方法?
您可以使用 image.at<uchar>(j,i)
来获得灰度图像的像素值。
cv::Mat::at<>()
函数适用于每种类型的图像,无论是单个通道图像还是多通道图像。返回的值类型仅取决于提供给函数的模板参数。
可以像这样访问灰度图像的值:
//For 8-bit grayscale image.
unsigned char value = image.at<unsigned char>(row, column);
确保根据图像类型(8U,16U,32F等)返回正确的数据类型。
-
对于
IplImage* image
,您可以使用uchar intensity = CV_IMAGE_ELEM(image, uchar, y, x);
-
对于
Mat image
,您可以使用uchar intensity = image.at<uchar>(y, x);
at(y,x)] ;
for(int i = 0; i < 256; i++)
cout<<histogram[i]<<" ";
// draw the histograms
int hist_w = 512; int hist_h = 400;
int bin_w = cvRound((double) hist_w/256);
Mat histImage(hist_h, hist_w, CV_8UC1, Scalar(255, 255, 255));
// find the maximum intensity element from histogram
int max = histogram[0];
for(int i = 1; i < 256; i++){
if(max < histogram[i]){
max = histogram[i];
}
}
// normalize the histogram between 0 and histImage.rows
for(int i = 0; i < 255; i++){
histogram[i] = ((double)histogram[i]/max)*histImage.rows;
}
// draw the intensity line for histogram
for(int i = 0; i < 255; i++)
{
line(histImage, Point(bin_w*(i), hist_h),
Point(bin_w*(i), hist_h - histogram[i]),
Scalar(0,0,0), 1, 8, 0);
}
// display histogram
namedWindow("Intensity Histogram", CV_WINDOW_AUTOSIZE);
imshow("Intensity Histogram", histImage);
namedWindow("Image", CV_WINDOW_AUTOSIZE);
imshow("Image", image);
waitKey();
return 0;
}
相关文章:
- OpenCV - 如何在灰度图像上应用 Kmeans?
- 访问随机图像像素的快速方法,最多一次
- C++灰度图像处理
- 如何显示具有 opengl 纹理的灰度图像
- 计算另一个图像像素满足条件的像素值的平均值
- (C++)(Visual Studio) 将高斯模糊滤镜应用于 RGB 中的灰度图像
- 使用 SSE 以最快的速度缩小 8 位灰度图像
- 使用 OpenCV 和 C++将 16 位灰度图像更改为彩色图像
- 有没有办法使用 glDrawPixel 渲染单通道灰度图像?
- 如何在OpenCV中减去两个不同尺寸的图像和灰度图像
- 使用 ImageMagick 从像素强度数组创建灰度图像时遇到问题
- 将高斯模糊应用于灰度图像
- OPENCV C .在for循环中在不同的图像像素上绘制一个圆圈(应在每个循环运行时将图像打开)
- 在OpenCV中将灰度图像转换为单色
- Mat的convertTo函数在OpenCV中将灰度图像的类型转换为CV_32F时抱怨断言错误
- 在 openCV 中访问某些像素的强度值(灰度图像)
- 打开CV:访问灰度图像的像素
- 访问OpenCV中灰度图像的像素值
- 无法从灰度图像访问像素值
- 在opencv中获取灰度图像的最大像素值