OpenCV2中,提取图像(cv::Mat对象)的特定点,并设置。
核心代码如下:
Vec3b &p = img.at<Vec3b>(y坐标,x坐标)
Blue, Green, Red 的三个值分别是p[0], p[1] , p[2]
示例代码如下:
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc ,char** argv)
{
Mat img;
img = imread(argv[1], CV_LOAD_IMAGE_COLOR);
int x = 10;
int y = 10;
int range = 10;
for (int i = 0; i < range; i++)
{
for(int j = 0; j < range; j++)
{
Vec3b &p = img.at<Vec3b>(y - range/2 + i , x - range/2 + j );
printf(" (b=%d, g=%d, r=%d) \n", p[0], p[1], p[2]);
p[0] = 255;
p[1] = 255;
p[2] = 255;
}
printf("\n");
}
imshow("test1", img);
cvWaitKey(0);
return 0;
}