以下用OpenCV实现获取图像中某点的颜色值,并设置某点区域的颜色
#include
using namespace cv;
vector listFiles(const char * dir);
int main()
{
Mat img = imread("D:\\OpencvTest\\test.jpg");
Scalar color = img.at(150, 150);//读取原图像(150, 150)的BGR颜色值,如果是灰度图像,将Vec3b改为uchar
for (size_t row=0; row<50; row++)
for (size_t col=0;col
{
//设置原图像中某点的BGR颜色值
img.at(row, col) = Vec3b(color(0), color(1), color(2));
}
cv::circle(img, Point(150, 150), 4, cv::Scalar(0, 0, 255));//在图像中画出特征点,2是圆的半径
imshow("img", img);
waitKey(0);
return 0;
}
运行效果:
补充知识:opencv中对图片的二值化操作并提取特定颜色区域
我就废话不多说了,大家还是直接看代码吧!
#include
#include
<