机缘
最初成为创作者的初心:通过文章进行技术交流
收获
在创作的过程中收获:获得了40000粉丝的关注
日常
创作是否已经是生活的一部分了,周一到周六学习,周日创作
成就
提示:你过去写得最好的一段代码是什么? 请用代码块贴出来
例如:
- 某个解题代码
- 某个项目实现代码
- …
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
Mat SusanEdgeDetection(Mat& src, int threshold = 100, int radius = 3)
{
Mat dst(src.size(), CV_8UC1, Scalar(0));
for (int i = radius; i < src.rows - radius; i++)
{
for (int j = radius; j < src.cols - radius; j++)
{
int sum = 0;
int count = 0;
int center = src.at<uchar>(i, j);
for (int k = -radius; k <= radius; k++)
{
for (int l = -radius; l <= radius; l++)
{
int val = src.at<uchar>(i + k, j + l);
int diff = abs(val - center);
if (diff <= threshold)
{
sum += diff;
count++;
}
}
}
float susan = 1 - count / (2.0 * radius + 1) / (2.0 * radius + 1);
if (susan > 0.3)
{
dst.at<uchar>(i, j) = 255;
}
}
}
return dst;
}
int main()
{
Mat src = imread("susan.png", IMREAD_GRAYSCALE);
if (src.empty())
{
cout << "Could not open or find the image!\n" << endl;
return -1;
}
Mat dst = SusanEdgeDetection(src);
imshow("原始图像", src);
imshow("SUSAN边缘检测", dst);
waitKey(0);
return 0;
}
憧憬
提示:职业规划、创作规划等
好好学习,认真科研,顺利毕业!!!
Tips