该程序主要功能是识别图片中的汽车。
主要程序主要是3行代码
createCarImagesFile();//似乎是为另外一个汽车识别训练器产生标记文件 ? ? ? ? ? ? createNegativeImagesFile();//似乎是为测试文件产生训练集合 ? ? ? ? ? ? useTrainedData();//和15类似
这个程序和15类似,为加强自己的记忆,再次做一次描述
1、打开图片,灰度化之后做直方图均衡
var grayImage = new Mat();
Cv2.CvtColor(srcImage, grayImage, ColorConversionCodes.BGRA2GRAY);
Cv2.EqualizeHist(grayImage, grayImage);
2、根据训练好的文件调用级联分类器CascadeClassifier的detectMultiScale多尺度监测
var cascade = new CascadeClassifier(@"..\..\CarsInfo\data\cascade.xml");
var cars = cascade.DetectMultiScale(
image: grayImage,
scaleFactor: 1.1,
minNeighbors: 2,
flags: HaarDetectionType.DoRoughSearch | HaarDetectionType.ScaleImage,
minSize: new Size(30, 30)
);
3、查找rect并在图片上面绘制
foreach (var carRect in cars)
Cv2.Rectangle(srcImage, carRect, color, 3);
完毕
|