VS2017配置OpenCV搞了好久好久,烦人。。。
可以参考这个https://www.zhihu.com/question/24400428省的多次配置。
#include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { Mat srcImage = imread("cat.jpg"); //腐蚀操作 //imshow("[原图]腐蚀操作", srcImage); ////进行腐蚀操作 //Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); //Mat dstImage; //erode(srcImage, dstImage, element); ////显示效果图 //imshow("[效果图]腐蚀操作", dstImage); ////模糊操作 //imshow("[原图]均值滤波", srcImage); //Mat dstImage; //blur(srcImage, dstImage, Size(7, 7));//均值滤波 //imshow("均值滤波[效果图]", dstImage); //边缘检测 //imshow("[原图]Canny边缘检测", srcImage); //Mat dstImage, edge, grayImage; ////创建于src同大小类型的矩阵 //dstImage.create(srcImage.size(), srcImage.type()); //cvtColor(srcImage, grayImage, COLOR_BGR2GRAY); //blur(grayImage, edge, Size(3, 3));//模糊操作 //Canny(edge, edge, 3, 9, 3); //imshow("[效果图]边缘检测", edge); //播放视频 VideoCapture capture(0);//参数为文件则播放文件,为0则调用摄像头采集 Mat edges; while (1) { Mat frame; capture >> frame; //原图转换为灰度图像 cvtColor(frame, edges, CV_BGR2GRAY); //3*3降噪 blur(edges, edges, Size(7, 7)); //边缘检测 Canny(edges, edges, 0, 30, 3); imshow("处理后的视频", edges); if (waitKey(30) >= 0) break; /*imshow("读取视频", frame); waitKey(30);*/ } waitKey(0); return 0; }
展示一下最后的结果