图像识别-C代码示例
以下是一个简单的图像识别的C代码示例,使用了OpenCV库:
#include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main(int argc, char** argv) { // 读入图像 Mat image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);
// 阈值处理
threshold(image, image, 128, 255, THRESH_BINARY);
// 边缘检测
Canny(image, image, 50, 150);
// 查找轮廓
std::vector<std::vector<Point> > contours;
findContours(image, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
// 绘制轮廓
Mat image_contours = Mat::zeros(image.size(), CV_8UC3);
for (int i = 0; i < contours.size(); i++) {
drawContours(image_contours, contours, i, Scalar(255, 0, 0), 2);
}
// 显示结果
imshow("Image", image);
imshow("Contours", image_contours);
waitKey(0);
return 0;
}
这个示例中,我们首先读入一张灰度图像,然后对其进行阈值处理和边缘检测。接着,我们使用findContours函数查找轮廓,并使用drawContours函数绘制轮廓。最后,我们将结果显示出来。
注意,这个示例只是一个简单的图像识别的例子,实际的图像识别算法要更加复杂和精细。
原文地址: https://www.cveoy.top/t/topic/qSS 著作权归作者所有。请勿转载和采集!