OpenCV
suxuyu01
蒟蒻
展开
-
第一次考核记录
文章目录粗略的学习笔记1.识别小鸡2.识别装甲板学了B站贾志刚opencv课程 1,2,4,8,9,10,11,12,15,29,31章节(BV号BV1uW411d7Wf)粗略的学习笔记!--转换图像空间的意义与函数RGB空间下,亮度/饱和度不是一个单独的通道,可以转换到其他颜色空间进行操作之后再转回cv::cvtColor三个参数,第一个表示源图像(src),第二个表示色彩空间转换之后的图像(dst),第三个表示源和目标色彩空间,如COLOR_BGR2HLS COLOR_BGR2GRAY等原创 2020-11-02 22:48:13 · 335 阅读 · 0 评论 -
OpenCV学习笔记 imgproc库2.膨胀、腐蚀与基于他俩的形态学操作
文章目录使用的示例图像使用的kernel基本操作膨胀示例程序输出图像腐蚀示例程序输出图像形态学操作开操作 open示例程序输出图像闭操作 close示例程序输出图像顶帽 tophat示例程序输出图像黑帽 blackhat示例程序输出图像形态学梯度 gradient示例程序输出图像使用的示例图像使用的kernelkernel = getStructuringElement(CV_SHAPE_RECT, Size(11, 11), Point(-1, -1));基本操作膨胀和腐蚀的主语都是亮区膨原创 2020-10-27 23:30:45 · 292 阅读 · 1 评论 -
OpenCV3.4.5在VS2017中配置环境后,找不到opencv_world345d.dll的问题一种可能的解决办法
把opnecv安装目录下\build\x64\vc14\bin中的opencv_world345d.dllopencv_world345.dllopencv_ffmpeg345_64.dll拷贝到C:\Windows\System32再次运行调试,成功参考文章:关于opencv找不到opencv_world341d.dll的问题解决办法(VS2017+win10)...原创 2020-10-25 20:48:33 · 1523 阅读 · 1 评论 -
OpenCV学习笔记 imgproc库1.线性滤波
使用参考该博客 三.浅出 部分原创 2020-10-07 22:26:46 · 111 阅读 · 0 评论 -
OpenCV学习笔记 core库6.对图像通道、对比度和亮度的操作
颜色通道的分离与合并分离颜色通道 split()函数原型//该函数有两个原型void split(const Mat& src, Mat *mvbegin);void split(InputArray m, OutputArrayOfArrays mv);第一个参数是我们需要进行分离的多通道数组第二个参数是函数的输出数组或输出的vector容器示例程序vector<Mat> channels;Mat imgBluChannel;Mat imgGreChannel;原创 2020-09-28 23:32:56 · 153 阅读 · 0 评论 -
OpenCV学习笔记 core库5.设置ROI及图像混合操作
定义方式1.RectMat imageROI;imageROI = image(Rect(500, 250, ROI_COLS, ROI_ROWS));2.Range()imageROI = image(Range(250, 250+ROI_ROWS), Range(250, 250+ROI_COLS));使用: 进行图像混合原创 2020-09-26 17:32:33 · 231 阅读 · 0 评论 -
OpenCV学习笔记 core库4.访问图像像素
访问图像像素的目的主要是对其进行操作以实现加速图像处理算法等目的。简述一下要用到的图像存储相关内容图像的存储使用矩阵,对于多通道图像,矩阵中的列会包含多个子列,故图像的行数即为矩阵的行数,图像的列数=矩阵的列数*通道数。访问方式1.指针主要用到的内容int rowNumber = tempImg.rows; //获取行数int colNumber = tempImg.cols*tempImg.channels(); //获取列数unsigned char* data = temp原创 2020-09-26 17:08:56 · 149 阅读 · 0 评论 -
OpenCV学习笔记 core库3.应用:绘制基本图形与文字
#define WINDOW_WIDHT VALUE //将VALUE改为想要的正整数值Ellipse 椭圆void DrawEllipse(Mat img, double angle){ int thickness = 2; int lineType = 8; //调用OpenCV提供的ellipse()函数进行绘制 ellipse( img, //画到的目标图像 Point(WINDOW_WIDTH/2, WINDOW_WIDHT/2 ), //中心点 Size(W原创 2020-09-23 23:56:14 · 165 阅读 · 0 评论 -
OpenCV学习笔记 core库2.其他常用数据结构
Point类 点表示二维坐标系下的点定义方法Point point;point.x=10;point.y=8;//或Point point = Point(10, 8);且OpenCV中有typedef Point_<int> Point2i;typedef Point2i Point;typedef Point_<float> Point2f;Scalar类 颜色表示有四个元素的数组,可用于传递像素值如果用不到第四个参数,则不需要写出来,只写三个参数就原创 2020-09-23 22:48:44 · 130 阅读 · 0 评论 -
OpenCV学习笔记 core库1.Mat类的使用
一.原理Mat类由两个数据部分,矩阵头和一个指向存储所有像素值的矩阵(根据所选存储方法不同,维数可以不同)的指针。①数据部分矩阵头包含矩阵尺寸、存储方法、存储地址等信息指针②成员函数二.使用不必太过考虑内存分配/释放问题①复制不同的Mat对象共享一个矩阵Mat A,C;A = imread("test.png");Mat B(A); //方式1C=A; //方式2//引用部分内容,创建一个ROIMat D(A, Rect(10,10,100,100)原创 2020-09-22 23:29:32 · 238 阅读 · 0 评论 -
HighGUI库总结
目前学习的HighGUI库的内容提供了基本的图像、视频的读入、显示与输出方式以及通过滑动条和鼠标事件进行交互的方式,总之,为了交互而交互是没有意义的,这部分内容要和实际需求结合才能发挥其作用。之前的相关内容并不完善,在后续学习进行到一定程度(有通过GUI交互的需求)时也会对相应的内容进行补充。...原创 2020-09-21 21:49:42 · 290 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库3.鼠标操作
setMouseCallback原创 2020-09-17 23:43:24 · 121 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库2.滑动条(Trackbar)
用途用于动态调节参数,依附于窗口存在使用①createTrackbar()int createTrackbar(const string &trackbarname, const string &winname, int* value, int count, TrackbarCallback onChange=0, void* userdata=0);trackbarname 指定滑动条的名字winname 指定滑动条所依附的窗口的名字value 表示创建滑动条时滑块的初始位原创 2020-09-15 23:27:38 · 163 阅读 · 0 评论 -
OpenCV学习笔记 HigiGUI库1.图像与视频的载入、显示和输出到文件
头文件相关#include opencv2/opencv.hpp 可包含所有可能用到的OpenCV函数等,但会延长编译时间从文件、视频和摄像头读入图像的函数包含在highgui内OpenCV使用的命名空间cv具体使用的部分Mat类型用于保存图像以及其他矩阵数据的数据结构此处不作详解namedWindow()void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE ); 用于创建一个窗口第一个参数为窗原创 2020-09-04 19:05:01 · 359 阅读 · 0 评论 -
Windows 10在VS Code中配置C\C++与OpenCV3.4.5的过程中遇到的问题
因为某些原因需要学习openCV,所以先来配一下环境结果一整就是一天-.-写一下过程中遇到的问题配置过程中阅读且确实有用的的文章:1.配置全过程指引(用openCV 4.4.0的话按这两篇的方法并不能成功)VS code配置C/C++、OpenCV(Windows)将 VSCode 打造成 OpenCV 的 IDE(C++,window10 1803)2.问题及解决方案CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结(虽然版本不同但解决方法适用)原创 2020-09-03 12:38:23 · 364 阅读 · 0 评论