![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像处理
秦乐乐
好好学习 天天向上
展开
-
【图像处理】记一次python调用封装含有opencv的c++代码报错
Assertion failed (((((sizeof(size_t)<<28)|0x8442211) >> ((traits::Depth<_Tp>::value) & ((1 << 3) - 1))*4) & 15) == elemSize1()) in cv::Mat::at将Mat类型的图像通过灰度化,然后换成单通道的图像cvtColor(srcimg1, srcimg1_gray, CV_BGR2GRAY);Mat.原创 2020-09-01 16:42:40 · 961 阅读 · 0 评论 -
【图像处理】答题卡直线检测
待处理图片:看到直线检测,首先想到的就是霍夫线变换,先试一下,看一下效果: Mat img_gray; cvtColor(srcmat,img_gray,CV_BGR2GRAY); Mat img_bin; //int pos = otsu(img_gray); int threshold_value = 100; Canny(img_gray, img_bin, ...原创 2019-08-13 14:09:21 · 593 阅读 · 0 评论 -
【图像处理】变压器铭牌位置检测
应项目需求,需要检测到变压器上铭牌地位置,然后配合机械臂进行下一步工作。原图:程序算法具体使用Sobel算子求取梯度,由于变压器独特地纹理,所以程序中使用y方向地梯度。 Mat srcGray; cvtColor(matsrc, srcGray, CV_RGB2GRAY); Mat grad_x, grad_y; Mat abs_grad_x, abs_gr...原创 2019-08-13 14:23:38 · 494 阅读 · 1 评论 -
【图像处理】视频分帧处理
#include <iostream>#include "opencv2/opencv.hpp"using namespace std;using namespace cv;// 描述:将视频帧转成图片输出void main(){ // 获取视频文件 VideoCapture cap("视屏文件路径.mp4"); // 获取视频总帧数 long totalF...原创 2019-08-09 11:28:08 · 4067 阅读 · 0 评论 -
【图像处理】HOG算子
https://blog.csdn.net/chlele0105/article/details/11991533转载 2019-08-20 09:20:59 · 211 阅读 · 0 评论 -
【图像处理】KLT稀疏光流的对象跟踪
稀疏光流法的原理解读:https://blog.csdn.net/koibiki/article/details/80225827稀疏光流法在opencv中的实现函数为 calcOpticalFlowPyrLK用以实验的视频是我在百度上下载的。处理完后的截取图片:实现代码如下:#include<opencv2/opencv.hpp>#include<i...原创 2019-08-24 19:21:41 · 1103 阅读 · 0 评论 -
【图像处理】基于颜色实现对象检测与跟踪
这个算法在背景与前景色差较大的情况下应用效果最好。主要使用了inRange()这个函数,这个函数就是判断输入图像中每一个像素是否在设定好的颜色区间之内。又是阈值的设定,比较烦~~实验了几次,同一个物体,拍了几段不同的视频,由于各种原因,使得算法不能普遍应用,,,都是因为阈值~~~~对了,还有一个重要的地方,之前使用形态学滤波的时候,没有注意到函数中的后面的几位具体参数,今天学到了,...原创 2019-08-23 14:50:29 · 1344 阅读 · 0 评论 -
【图像处理】视频流的读写
视频流读写的实现类:VideoCapture1、read#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ VideoCapture capture; //创建对象 capture.open("demo....原创 2019-08-23 14:15:06 · 539 阅读 · 0 评论 -
【图像处理】背景消除建模实现目标跟踪:GMM、KNN
背景消除建模的基本原理是用 当前帧 - 背景模型 = 前景对象该算法对于背景固定下的移动目标有着很好的效果。GMM(高斯混合模型)是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息表示别境,然后使用统计差分进行目标像素判断达到预期效果。高斯混合模型:使用高斯概率密度函数精确的量化事物,将一个事物分解为若干个基于高斯概率密度函数行程的模型。二维:...原创 2019-08-23 14:35:12 · 2080 阅读 · 0 评论 -
【图像处理】验证码识别——投影分割法
代码实现简单验证码检测,由于识别库比较难配,尴尬,没有成功~不过没有关系,图像处理的算法实现了就可以了。原图:使用投影分割,先竖直方向,后水平方向,基本方法就是遍历像素点,源代码:int otsu(const Mat src) { Mat img = src; int c = img.cols; //图像列数 int r = img.rows; //图像行数 int T ...原创 2019-08-13 13:58:55 · 1731 阅读 · 0 评论 -
【图像处理】条形码与二维码的定位与识别
代码实现简单环境下的条形码与二维码的定位与识别:原图:#include<iostream>#include<opencv2\opencv.hpp>#include<zbar.h>using namespace std;using namespace cv;using namespace zbar;//寻找最大的轮廓static v...原创 2019-08-13 13:47:19 · 3137 阅读 · 0 评论 -
【图像处理】OpenCV知识整理汇总
查找资料看到的OpenCV基础知识整理的很全面,打算将平时找到的资料都放在这个博客下面,做个笔记,方便日后查找OpneCV基础知识:图像读取、显示、保存 摄像头/视频读取、写入 将视频分解成图片,将图片合成视频 常用的数据结构和类:Point、Rect、Scalar、Mat 绘图函数:直线、圆、矩形、椭圆、多边形、添加文字 鼠标与滑动条操作 访问图像像素 对比度、亮度调整与通...原创 2019-06-22 11:47:20 · 536 阅读 · 0 评论 -
【图像处理】灰度化
图像灰度化就是图像中的每一像素点的分量都满足R=G=B=V的关系,此时的V就是灰度值为什么要灰度化?灰度是指含有亮度信息,不含彩色信息的图像。使用灰度图的好处:1、RGB的值都一样2、图像数据 = 调色板索引值 = RGB的值 = 亮度值3、调色板为256色,所以图像数据中的一个字节代表一个像素一般做图像处理之前都需要先把图像进行灰度化。在这之前要访问图像中的每一个...原创 2019-03-29 14:18:21 · 10850 阅读 · 4 评论 -
【图像处理】记一次粗心:未加载opencv_world300d.dll
晚上吃完饭回来运行了一次吃饭之前的程序,出现了这样的错误:这可把我急坏了,在网上百度了一下,还真有不少网友遇到了我这样同样的问题,之前环境都配置好好的了,怎么会出现未加载的问题呢?但是其他的项目中的程序都是好好的,只有这个出现了问题,于是只能加断点调试了,第一句就出现了中断~Mat srcImage = imread("C:\\Users\\asus\\Desktop\\激光扫描...原创 2019-04-11 21:55:43 · 896 阅读 · 0 评论 -
【图像处理】简单的车牌识别
前段时间刚刚把毛星云的OpenCV大体上过完了一遍,所以找了个图像处理的小项目练练手。研一的时候做过车牌识别的小demo,当时对图像处理的一些方法的理解还不是很深刻。在网上浏览学习了以后,参考学习了图像处理基本算法 车牌识别与定位这篇博客的思路,然后自己编程实现,具体的思路函数大概和前面的物资识别差不多:1、车牌识别只能针对部分蓝色车牌识别成功,其他颜色的车牌会陆续优化整理的由于蓝...原创 2019-05-25 16:20:26 · 9360 阅读 · 0 评论 -
【图像处理】(特征检测与匹配)ORB算法OpenCV实现
ORB:Oriented FAST and Rotated BRIFEORB是一种快速特征点提取和描述的算法ORB采用FAST检测特征点,这个定义基于特征点周围的图像灰度值,检测候选特征点周围一圈的像素值,如果候选点周围领域内有足够多的像素点与该候选点的灰度值差别够大,则认为该候选点为一个特征点。FAST算法改进:由于FAST算法提取的点不具有尺度不变性,则是图像的尺度金字塔,将原图像...原创 2019-05-23 17:17:48 · 1767 阅读 · 2 评论 -
【图像处理】(特征检测与匹配)SURF算法OpenCV实现
周一开会,老板让准备一下做一个物体跟踪的一个项目,以我的理解物体跟踪一定是需要特征点的提取与匹配的,所以打算趁这个机会巩固一下前面OpenCV中的所学知识,各种相关算法都已经记录在笔记本上,博客上就记录一下实现代码,以便日后复习。1、使用BruteForceMatcher暴力匹配#include<opencv2/core/core.hpp>#include&l...原创 2019-06-12 15:13:43 · 1278 阅读 · 1 评论 -
【图像处理】(特征检测与匹配)FAST、HARRIS算法OpenCV实现
一、FASTFAST算法只是特征点检测的一种方法,并不涉及特征点的描述思路:如果某个像素点和他周围领域足够多的像素点处于不同区域,那么这个像素点便是特征点算法步骤:1、像素P点为特征点,判断周边16个像素点(类似钟表上的刻度),P1~P162、定义一个阈值Y,计算P1、P9与P的像素差,若绝对值都小于Y,那么直接PASS,否则候选3、计算P1、P9、P5、P13与P的像素差...原创 2019-06-12 19:29:40 · 1493 阅读 · 0 评论 -
【图像处理】(特征检测与匹配)SIFT算法OpenCV实现
SIFT算法要比SURF算法慢一点#include<opencv2/core/core.hpp>#include<opencv2/features2d/features2d.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/nonfree/features2d.hpp>#...原创 2019-06-12 20:02:23 · 1386 阅读 · 2 评论 -
【图像处理】(特征检测与匹配)BRIEF算法OpenCV实现
BRIEF采用二进制码串作为描述子向量,可以利用FAST等算法先检测特征点,然后使用BRIEF去描述算法过程:1、使用高斯滤波对图像去噪2、以特征点为中心,区S*S的领域窗口,在窗口中随机选取一对点,进行像素大小的比较,进行二进制赋值3、在窗口中随机选取N对特征点,重复2,形成一个二进制编码,这个编码就是对特征点的描述,即特征描述子,一般N=256配准:1、每个特征点至此都...原创 2019-06-13 17:19:56 · 851 阅读 · 0 评论 -
【图像处理】图像表示与通道问题
问题描述:今天打算利用最小外接矩计算物资的偏移角度(后面搞完会写的),我将之前闭运算后的结果图作为初始图传入,计算最小外接矩其中一个步骤就是前面做过的寻找轮廓,由于外接矩的结果不理想,所以逐步调试,最终在寻找轮廓这步,竟然找到了100多个轮廓。闭运算效果图:使用形态学滤波,已经可以清楚的找到了12个矩形。可是使用findCountours()函数寻找轮廓数量的时候,竟然找到的111个...原创 2019-04-19 16:40:10 · 1015 阅读 · 0 评论