OpenCV
文章平均质量分 52
lp_oreo
hahh
展开
-
在vs2015中配置opencv3.0.0
最近需要重新在vs2015中配置opencv3.0.0,这里是整理毛星云的《OpenCV3编程入门》中的相关内容。他的相关博客是这个。0 我的环境win7 64bit1 下载OpenCV3.0.0这个在网上有很多内容,这里我就不赘述了。2 配置环境变量【计算机】→ 【(右键)属性】→ 【高级系统设置】→ 【高级(标签)】→ 【环境变量】→ (双击)系统环境变量中的PATH→ 在变量中添加相应的路径。对于32位的系统,就添加 ";.. opencv\build\x64...原创 2020-07-21 17:07:39 · 682 阅读 · 0 评论 -
在OpencCV中,对一串数字进行分割
1、问题:如图,如何对图片中的一串数字进行有顺序、从左到右的分割?(图片来源https://blog.csdn.net/LTG01/article/details/50492556)2、思路将图片转换成灰度图。 将灰度图像转换成黑底白字的二值图像。 通过列扫描,确认本列中是否存在白色像素,如果存在,记下此时的列数。 通过行扫描,确认本行中是否存在白色像素,如果存在,记下此...原创 2019-09-03 11:09:03 · 373 阅读 · 1 评论 -
OpenCV的应用:九宫格小人识别
1、实验内容:自动是被下列九宫格图像中小人的位置,并将小人分割出来2、思路分析:本实验的难点首先在于如何在一幅图像中把九幅图片分离出来,其次如何能够从分离出来的九幅图片中识别出小人图像。本人的具体思路是这样的:分离九幅图片:通过findContours()函数寻找到图像中所有物体的轮廓,并用boundingRect()获得所有轮廓的包围矩形,但是我们需要的只是九宫格中的九个矩形区域...原创 2019-09-01 09:48:07 · 1189 阅读 · 0 评论 -
OpenCV中,使用三种方式获得图像的像素
方式一:通过指针获取图像的像素获得图像的行数 使用ptr()函数,获得图像的行指针 获取图像的列数,这里需要注意一下,如果是多通道的图像,图像的列数需要乘以该图片的通道数 需要获得图像的列函数 对图像进行处理#include <opencv2/opencv.hpp>#include <iostream>using namespace std;usin...原创 2019-08-27 21:50:27 · 1571 阅读 · 0 评论 -
对图像处理、计算机视觉和OpenCV的理解
什么是图像处理? 通俗来说就是对图像进行处理。专业点来说,图像处理主要指使用计算机对目标图像进行处理,达到预期的效果的一种技术。图像处理主要包括三个部分:图像的压缩,图像的增强和复原以及图像的描述、识别、匹配。 什么是计算机视觉? 通俗来说就是研究如何使得计算机能够像人类一样拥有一个敏锐的视觉,甚至超过人眼的功能。维普百科上的解释是:计算机视觉是一门研究如何使机器“看”的科学...原创 2019-08-27 09:41:39 · 1668 阅读 · 0 评论 -
在opencv中,绘制彩色图片的三个通道的图像直方图
1、绘制图像直方图的步骤调用split函数,将彩色图像的通道进行分离 调用calcHist函数,返回Mat类型的向量 如果要在特定长宽的图像中显示图像直方图,需要进行归一化操作 在for循环中绘制直线2、具体函数讲解(1) split()函数split(InputArray src, OutputArray dst);其中: 第一个参数src:是指输入的图像 ...原创 2019-07-28 14:59:51 · 2022 阅读 · 0 评论 -
OpenCV中,关于canny算子、sobel算子、laplacian算子和scharr滤波器小结
1、canny算子void Canny(InputArray src, OutputArray edges, double threshod1, double threshod2, int apertureSize = 3, bool L2gradient = false)其中: 第一个参数src:单通道8位图像(灰度图像) 第二个参数dst:要求要和原图像是一样的尺寸和类...原创 2019-07-24 20:43:01 · 541 阅读 · 0 评论 -
sobel算子进行边缘检测
使用sobel算子进行边缘检测的步骤如下:1、高斯模糊,降噪。因为sobel算子对噪声比较敏感,因此要先对原图像进行高斯模糊,降噪 2、将图像转换成灰度图像 3、使用sobel函数,求x和y方向上的导数。 4、将x方向的导数(边缘)和y方向的导数进行叠加。(1)高斯模糊 //首先进行高斯模糊,降噪 Mat gauImage; GaussianBlur(srcImage, g...原创 2019-07-24 15:30:46 · 9874 阅读 · 1 评论 -
在OpenCV中,如何得到彩色的边缘图像?
1、首先通过Canny()函数进行边缘检测,得到边缘图像Canny(gray, edge, 3, 9, 3); //gray灰度图像2、以边缘图像作为掩膜,将原图彩色图像拷贝到目标图像上srcImage.copyTo(dst, edge);...原创 2019-07-24 11:35:02 · 1174 阅读 · 0 评论 -
绘制图片直方图的两种方法(line函数和rectangle函数)
1、绘制直方图有两种方法通过line函数,绘制直线实现 通过rectangle函数,绘制矩形实现源码如下:#include <opencv2/opencv.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace std;using namespace cv;...原创 2019-07-29 12:14:44 · 1153 阅读 · 0 评论 -
在OpenCV中提取水平直线,垂直直线和一些字符
1、先读取图像imshow("原图像", src);首先要获取源文件图片,方便进行操作。2、将RGB图像转换成灰度图像//将原图像转换成灰度图像Mat grayImage;cvtColor(src, grayImage, COLOR_BGR2GRAY);3、将灰度图像转换成二值图像//将灰度图像转换成二值图像Mat binaryImage...原创 2019-07-23 22:06:56 · 555 阅读 · 0 评论 -
OpenCv中常见的API小结(持续更新中...)
1、图片整型像素值转换成浮点型像素值src.convertTo(dst, CV_32F); //src:8UC3代表8位无符号三通道数值类型;dst:32f代表浮点型数值2、确保像素值在0-255之间saturate_cast<uchar>()3、copyTo函数src.copyTo(ROI,MASK)其中一个功能是将一个图像复制到感兴趣区域(ROI...原创 2019-07-14 22:38:54 · 840 阅读 · 0 评论 -
OpenCv中,对图片像素进行处理的方法小结
1、获取像素的对象通过src.at<uchar>(row,col)获取单通道像素;通过src.ar<Vec3b>(row,col)[i](i=0,1,2)获取红绿蓝三通道的像素。 //获取图像的像素 int height = src.rows; int width = src.cols; int channel = src.channels(); for ...原创 2019-07-14 09:25:10 · 470 阅读 · 0 评论 -
对掩膜操作算法的思考
1、什么是掩膜操作?掩膜操作是一种使用特定物品对某一区域进行掩盖,从而能够对指定区域进行特殊处理的一种操作方式。2、掩膜操作的作用在进行图像处理中,通过掩膜操作能够提升图像整体的对比度,使得图片更加醒目。 第一幅是没有经过掩膜操作的图片: 第二幅是经过掩膜操作的图片 由上述两幅图片对比可以发现,第二幅图片纹理更加清晰,对比度更加明显。3、对OpenCV中掩膜操作算法的理解...原创 2019-07-13 20:18:05 · 1925 阅读 · 5 评论