#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
void DrawFilledCircle(Mat img, Point center,int _radius)
{
int thickness = -1;
int lineType = 8;
circle(img,
center,
_radius,
Scalar(0, 0, 255),
5,
lineType);
}
int main()
{
Mat img=imread("D:/Desktop/波长4100.bmp");
if (img.empty())
{
std::cout<<"Could not load image file!";
system("pause");
return 0;
}
else
{
//unsigned char M = 0;
int N=0;
int row, col;
int height, width, step, channels;
int i, j;
height = img.rows;
width = img.cols;
step = img.step;
channels = img.dims;
std::cout << "Processing a " << height << "*" << width << "image with" << channels << "channels and" << step << "steps" << endl;
//
提取最大灰度值像素的坐标
for (i = 0; i<height; i++)
for (j = 0; j<width; j++)
if (img.data[i*step + j]>N)
{
N = img.data[i*step + j];
row = j; col = i;
}
///
/对图像进行二值化
std::cout << "the centure is" <<row<<"*"<<col<<endl;
std::cout << "pixel value is" << N <<endl;
DrawFilledCircle(img, Point(row,col),100);
namedWindow("画圆", CV_WINDOW_NORMAL); //创建窗口,后面的参数表示可以调整窗口的大小
imshow("画圆", img);
}
cvWaitKey();
return 0;
}
opencv找出图像最亮点并画圆
最新推荐文章于 2024-08-05 19:16:36 发布