#include
#include
#include
using namespace std;
using namespace cv;
void pcircle(Mat& inputImage, Mat& outputImage);
int main()
{
Mat srcImage(500, 500, CV_8U, Scalar(255, 255, 255));
Mat dstImage;
double time0 = static_cast(getTickCount());
pcircle(srcImage, dstImage);
time0 = ((double)getTickCount() - time0) / getTickFrequency();
cout << "此方法运行时间为:" << time0 << "秒" << endl;
imshow("效果图", dstImage);
}
void pcircle(Mat& inputImage, Mat& outputImage)
{
outputImage = inputImage.clone();
int rowNumber = outputImage.rows;
int colNumber = outputImage.cols;
for (int i = 0; i < rowNumber; i++)
{
for (int j = 0; j < colNumber; j++)
{
while (((i - 250)*(i - 250) + (j - 250)*(j - 250)) == 10000)
{
outputImage.at<Vec3b>(i, j)[0] = 0;
outputImage.at<Vec3b>(i, j)[1] = 0;
outputImage.at<Vec3b>(i, j)[2] = 0;
}
}
}
}
用opencv 创建一个500*500的空白图像 然后操作像素画圆 圆心作标(250,250) 圆半径100