![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
小娜美要努力努力
种一棵树最好的时间是十年前,其次是现在。
展开
-
OpencvX.X中Mat与IplImage类型的相互转换
1.Opencv4.x中Mat与IplImage的转换: (1)Mat转IPLImage:IplImage img = cvIplImage(mat); (2)IplImage转Mat:Mat cvarrToMat(const CvArr* arr, bool copyData=false,bool allowND=true, int coiMode=0,AutoBuffer* buf=0);2.Opencv3.x中Mat与IplImage...转载 2021-07-05 15:26:32 · 634 阅读 · 1 评论 -
“由于找不到opencv_world320d.dll,无法继续执行代码”的解决方案。
由于找不到 opencv_world320.dll,无法继续执行代码,报错如下:首先找到自己软件安装(解压)的路径openCV (安装(解压)目录\opencv\build\x64\vc14\bin)我的安装(解压)目录是:F:\OpenCV\Three320\opencv\build\x64\vc14\bin把3个后缀是.dll(如上图,红色箭头的文件)应用程序扩展复制到C:\Windows\System32中注意:64位系统用户需要注意,32位的DLL文件放在【C:\Windows\Sy转载 2021-07-05 15:18:16 · 2650 阅读 · 1 评论 -
Opencv的图像局部混合
Opencv的图像局部混合 之前学Opencv时,教程中关于图像局部混合部分的例程绝大部分都是下面这样的代码,logo的图像需要读入两次分别读入为logoImage和mask,简单的图像混合因为一组重复的变量显得复杂。bool ROI_AddImage(){ // 读入图像 Mat srcImage1= imread("pa.jpg"); Mat logoImage= imread("logo.jpg"); // 定义一个Mat类型并给其设定ROI区域 Mat image...原创 2020-09-23 10:14:44 · 211 阅读 · 0 评论 -
Mat类的使用技巧【整理】
Mat类的使用技巧【整理】:1.Mat中的元素类型: https://www.cnblogs.com/xixixing/p/12372068.html 通常使用的灰度图像元素是8位的uchar型,注意一般见到的Mat的元素不是无符号整型而是无符号字符型,元素值范围为0~255。自定义Mat矩阵时,推荐使用8位无符号字符型,即CV_8U、CV_8UC3。 以CV_8U(即CV_8UC1)为例: 1)U表示usigned char无符号字符型(...原创 2020-09-22 11:38:56 · 622 阅读 · 0 评论 -
Opencv复习笔记
Opencv复习笔记1.图像混合:(1)定义ROI的两种方式: 1)cv::Rect: 指定矩形的左上角坐标和矩形的长宽来定义一个矩形区域。Mat imageROI; imageROI=image(Rect(500,250,logo.cols,logo.rows)); 2)cv::Range: 指定感兴趣行或列的范围,Range是指从起始索引到终止索引(不包括终止索引)的一连段连续...转载 2020-09-17 14:00:42 · 805 阅读 · 0 评论 -
Opencv源码中常用的CV_Assert的含义【转载】
Opencv源码中常用的CV_Assert的含义【转载】 Opencv中常用的CV_Assert()函数与C++标准库中的assert()函数功能基本相同,assert()函数的作用是计算表达式 expression ,如果其值为false那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。 CV_Assert( CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(...转载 2020-09-15 13:43:47 · 786 阅读 · 0 评论 -
opencv复习笔记随记
opencv复习笔记随记【1】图像窗口大小调整: (1)允许手动调整:namedWindow("image",0); # 0表示可以调整窗口大小imshow("image", image); (2)自动调整为指定大小:namedWindow("image",0); # 0表示可以调整窗口大小cvResizeWindow("image", 500, 500);imshow("image", image);【2】Scalar()函...原创 2020-07-20 11:45:55 · 598 阅读 · 0 评论 -
python-opencv:图像位运算
python-opencv:图像位运算1.cv2.add(): 函数功能:将两个图片进行加和,大于255的使用255计数,需注意两输入图像image1和image2需要有相同的宽/高和通道数。cv2.add(image1, image2) 参数: 1)img1:图片对象1 2)img2:图片对象2 3)mask:None(掩膜,一般用灰度图做掩膜,img1和img2相加后,和掩膜与运算,从而达到掩盖部分区域的目的;) 4)dtype:-1...原创 2020-06-09 16:26:23 · 890 阅读 · 0 评论 -
实时面具覆盖人脸小程序
实时面具覆盖人脸小程序 这个实时面具覆盖人脸的小程序参考了http://datahonor.com/2017/05/18/实时视频中面具覆盖的实现/中的处理思路,在此基础上做了一些改动,应用了python-opencv及其中的人脸识别模块。 因为这里用到的人脸识别比较粗糙,返回的是一个包含脸部的矩形框,所以只能做到简单的覆盖,效果并不精细。import cv2 as cvimport numpy as npfaceCascade = cv.CascadeCl...原创 2020-06-09 15:25:21 · 746 阅读 · 1 评论 -
opencv-python:cv.findContours()轮廓的层次结构【转载整理】
opencv-python:cv.findContours()轮廓的层次结构原博地址:opencv-python轮廓的层次结构1.层级结构: 通常使用cv.findContours()函数来检测图像中的轮廓对象,常有某些轮廓在其他轮廓的内部呈现嵌套的关系,在这种情况下将外部轮廓称为父项,将内部轮廓称为子项,这种关系的表示称为层次结构。 如下图所示,轮廓0/1/2是外部或最外部的,它们处于相同的层次结构级别,处于层级结构0中; 轮廓2a可以被认...转载 2020-06-05 11:35:38 · 1578 阅读 · 0 评论 -
opencv-python基础知识学习笔记
opencv-python基础知识学习笔记原博地址:https://www.cnblogs.com/silence-cho/p/10926248.html1.图像的读入和存储: (1)函数格式:#【1】读取图片,返回图片对象imread(img_path,flag) img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1 ...转载 2020-06-01 17:54:30 · 919 阅读 · 0 评论 -
Opencv9:实现图像尺寸缩减(降采样)功能
Opencv9:实现图像尺寸压缩(降采样)功能(1)实现功能: 对图像实现一个类似于最大池化(max-pooling)的功能,缩减图像的尺寸,用n*n局部内灰度值最大的像素替换这个n*n局部块。 稍加改动,可以实现类似平均池化(用n*n局部内像素的灰度平均值替换)的功能,或将n*n替换为m*n等。(2)实现思路: 首先,...原创 2019-08-08 14:23:07 · 3685 阅读 · 6 评论 -
Opencv2:冒泡排序实现中值滤波
Opencv2:冒泡排序实现中值滤波(1)冒泡排序的实现: ①冒泡排序实现容器内元素的全排列:vector<int> bubble_sort(vector<int> vec){ for (int i = 0; i < vec.size() - 1; i++) { for (int j = 0; j < vec.size()...原创 2019-07-09 10:30:59 · 1221 阅读 · 0 评论 -
Opencv3:大津法(最大类间方差法)的实现
Opencv3:大津法(最大类间方差法)的实现(1)大津法简介: 见之前博客: https://blog.csdn.net/weixin_39504171/article/details/94603536(2)大津法的实现思路: ①统计图像中每个灰度级中所在像素的个数; ②外层循环遍历0---255为阈值; ...原创 2019-07-10 10:09:33 · 1054 阅读 · 1 评论 -
Opencv4:优化轮廓中提取Polygon点的实现
Opencv4:轮廓中提取Polygon点的实现(1)轮廓中提取Polygon点的传统方法: ①设定一个阈值threshold; ②在目标轮廓选取两点A,B; ③计算在目标轮廓上A,B两点间所有点到AB直线间的距离,确定其中距AB直线间的距离最大的点C,它所对应的最大距离为distance; ④比较最大距离dist...原创 2019-07-10 15:08:57 · 2336 阅读 · 0 评论 -
Opencv7:Mat与unsigned char[ ]类型的相互转换
Opencv7:Mat与unsigned char[ ]类型的相互转换(1)前言: 参考其他博客编写的利用积分图优化的均值滤波函数中,输入参数和输出参数均为unsigned char *类型,无法直接传入Mat类型参数,因此需要进行Mat与unsigned char[ ]类型的相互转换。(2)Mat转化为unsigned char[ ]类型: //【1】原图像...原创 2019-07-15 11:09:35 · 5398 阅读 · 0 评论 -
Opencv5:对【冒泡排序实现中值滤波】的优化
Opencv5:对【冒泡排序实现中值滤波】的优化(1)前文【冒泡排序实现中值滤波】: https://blog.csdn.net/weixin_39504171/article/details/95171285(2)优化思路: 进行优化的是提取容器内排序第index的像素灰度值部分算法。 之前的实现方法...原创 2019-07-11 11:25:29 · 617 阅读 · 0 评论 -
Opencv6:line_orientation的Opencv实现(获取直线角度、两直线夹角)
Opencv6:line_orientation的Opencv实现(获取直线角度、两直线夹角)(1)line_orientation简介: line_orientation( : :RowBegin,ColBegin,RowEnd,ColEnd:Phi) Halcon函数,给定直线上两点,以弧度形式返回直线的角度。(2)本文扩展: ...原创 2019-07-12 09:33:19 · 4778 阅读 · 0 评论 -
Opencv8:halcon中select_shape_proto的opencv实现
Opencv8:halcon中select_shape_proto()的opencv实现【overlaps_abs】(1)select_shape_proto()函数简介: select_shape_proto()是Halcon中函数,用来在区域集合中依据区域与pattern之间的相互关系筛选区域,本文中实现的是我应用较多的overlaps_abs模式,筛选依据为重叠面积...原创 2019-07-18 17:42:27 · 1089 阅读 · 2 评论 -
Opencv7:卷积核分离优化均值滤波函数
Opencv7:卷积核分离优化均值滤波函数(1)卷积核分离优化思路: ①优化处理1: 将图像与m*n的卷积核卷积的操作,分解为图像先与1*n的卷积核进行水平方向卷积,再与m*1的卷积核进行竖直方向卷积的操作,可减少运算量。 ②优化处理2: 当卷积核在水平方向(或竖直方向)移动并处理像...原创 2019-07-16 15:39:31 · 701 阅读 · 0 评论 -
Opencv1:图像的边界扩充
Opencv1:图像的边界扩充(1)opencv自带函数实现: ①函数原型: copyMakeBorder(输入图像, 填充后图像, sizeTop, sizeBottom, sizeLeft, sizeRight, 填充模式); ②填充模式参数: 1)BORDER_REPLICATE...原创 2019-07-08 17:49:53 · 3243 阅读 · 1 评论