opencv c++ 水果图片识别代码实现
时间: 2023-09-11 22:06:29 浏览: 191
以下是一个简单的 OpenCV C++ 代码,用于识别水果图片:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 读取图片
Mat img = imread("fruit.jpg");
// 创建 HOG 描述符
HOGDescriptor hog;
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
// 对图片进行 HOG 特征提取
vector<Rect> found;
hog.detectMultiScale(img, found, 0, Size(8,8), Size(32,32), 1.05, 2);
// 在图片上画出识别结果
for (int i = 0; i < found.size(); i++)
{
Rect r = found[i];
rectangle(img, r.tl(), r.br(), Scalar(0,255,0), 2);
}
// 显示图片
imshow("fruit detection", img);
waitKey(0);
return 0;
}
```
这个例子使用了 OpenCV 自带的 HOG(方向梯度直方图)描述符来进行物体识别。它首先读取一张包含水果的图片,然后使用 HOG 特征提取来检测水果在图片中的位置,最后在图片上画出识别结果并显示。
阅读全文