opencv专题

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

brew install opencv@2 时报错 Error: Can't create update lock in /usr/local/var/homebrew/locks!

解决方案,报错里已经说明了: 我的解决方案: sudo chown -R "$USER":admin /usr/local   stackoverflow上的答案 I was able to solve the problem by using chown on the folder: sudo chown -R "$USER":admin /usr/local Also you'

《学习OpenCV》课后习题解答7

题目:(P105) 创建一个结构,结构中包含一个整数,一个CvPoint和一个 CvRect;称结构体为“my_struct”。 a. 写两个函数:void Write_my_strct(CvFileStorage* fs, const char * name, my_struct* ms) 和 void read_my_struct(CvFileStorage* fs, CvFileNode

OpenCV中的按钮问题

在HighGUI中,没有显示提供任何形式的按钮。一般有两种方法替代: 1.用只有两个状态的滑动条来替代按钮。开关(switch)事实上就是只有两个状态的滑动条,这两个状态是on和off。然后通过回调函数来实现相关的功能。 实例源码(使用滑动条实现一个开关功能) #include<cv.h>#include<highgui.h>int g_switch_value = 0;void swit

《学习OpenCV》课后习题解答6

题目:(P104) 使用cvCmp()创建一个掩码。加载一个真实的图像。使用cvsplit()将图像分割成红,绿,蓝三个单通道图像。 a.找到并显示绿图。 b.克隆这个绿图两次(分别命名为clone1和clone2)。 c.求出这个绿色平面的最大值和最小值。 d.将clone1的所有元素赋值为theash=(unsigned char)((最大值-最小值)/2.0)。 e.将clone

《学习OpenCV》课后习题解答5

题目:(P104) 为一个图像创建多个图像头。读取一个大小至少为100*100的图像。另创建两个图像头并设置它们的origion,depth,nChannels和widthStep属性同之前读取的图像一样。在新的图像头中,设置宽度为20,高度为30.最后,将imageData指针分别指向像素(5,10)和(50,60)像素位置。传递这两个新的图像头给cvNot()。最后显示最初读取的图像,在那个

《学习OpenCV》课后习题解答3

题目:(P104) 创建一个大小为100*100的三通道RGB图像。将它的元素全部置0.使用指针算法以(20,5)与(40,20)为项点绘制一个绿色平面。 解答: #include "cv.h" #include "highgui.h" int main(int argc, char** argv) {IplImage* img = cvCreateImage(cvSize(100,

《学习OpenCV》课后习题解答2

题目:(P104) 创建一个拥有三个通道的二维字节类型矩阵,大小为100*100,并将所有值赋为0。通过函数cvPtr2D将指针指向中间的通道(“绿色”)。以(20,5)与(40,20)为顶点间画一个绿色的长方形。 解答: (此题的关键在于懂得函数cvPtr2D的用法) #include "cv.h" #include "highgui.h" int main(int argc, c

关于命令行参数argv(《学习OpenCV》)

在《学习OpenCV》这本书中,很多示例代码都用到了命令行参数。作为新手,之前总是很困扰,不知道怎么用。偶然的机会终于略知一二了。 在Visual Studio中,我们可以自行设置命令行参数。 如在这个示例程序中,我们想把图像存入argv[1]。 方法如下: 依次点击,项目、属性、配置属性、调试、命令参数。出现下面的界面: 然后进行编辑,即输入图像路径。如:E:\Lena.jpg

基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结

最近刚刚接触XILINX的ZYNQ板,刚接触没有十天。XILINX定位它为SOC,我也很认同,起码比TI定位MPU为SOC强很多。据说今年TI的最新产品也加入了ZYNQ板。 之前的MIPS处理器设计与实现的项目就算做告一段落,搞了将近7个月,成果显著,收获颇多,最近打算搞搞ZYNQ。 之前MIPS也有一套交叉编译工具,不过是老师提供的,自己也尝试搞了搞,太辛苦了,而且也没什么成果,因为我

【OpenCV第一篇】安装OpenCV

本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子。 《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764 一.OpenCV的下载 可以到http://www.opencv.org.cn/inde

OpenCV Tutorial roadmap

http://computer-vision-talks.com/opencv-tutorial-roadmap/          computer vision talks All you want and should know about computer vision is here Home  »  OpenCV Tutorial roadmap O

OpenCV机器学习-人脸识别

一 基本概念 1 计算机视觉与机器学习的关系 计算机视觉是机器学习的一种应用,而且是最有价的应用。 2 人脸识别 哈尔(haar)级联方法 Harr是专门为解决人脸识别而推出的; 在深度学习还不流行时,Harr已可以商用; 深度学习方法(DNN) 3 Haar人脸识别步骤 创建Haar级联器 导入图片并将其灰度化 调用detectMultiScale方法进行人脸识别 detect

将OpenCV的代码从C++移植到C语言过程小记

目录 1、需求背景2、移植成C语言2.0 移除namespace特性2.1 移除template特性2.2 移除class特性2.3 移除vector特性2.4 移除std函数2.5 移除引用传值2.6 移除auto类型推导2.7 C++中的关键词2.8 其他语言差异 3、测试和杂项3.1 C语言和C++编译兼容3.2 GCC用C语言规则编译源文件3.3 修改文件名后缀 4、最终代码

OpenCv形态学(一)

目录 形态学转换 结构元素 腐蚀 膨胀 开运算 闭运算 形态学梯度 顶帽 黑帽 图像轮廓 查找轮廓 绘制轮廓 形态学转换 ·形态变换是一些基于图像形状的简单操作。通常在二值图像上执行。它需要两个输入,一个是我们的原始图像,第二个是决定操作性质的结构元素或内核。两种基本的形态学算子是侵蚀和膨胀。然后,它的变体形式(如“打开”,“关闭”等)也开始起作用。形态变换

OpenCV Mat实现图像四则运算及常用四则运算的API函数

装载有图像数据的OpenCV Mat对象,可以说是一个图像矩阵,可以进行加、减、乘、除运算。特别是加运算特别有用。        一 与常数的四则运算            与常数的加运算  示例: #include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;i

opencv识别颜色

导入必要的库:首先,需要导入 OpenCV 库和其他可能用到的库,如 NumPy。加载图像:使用cv2.imread函数加载包含多种颜色的图像。定义颜色范围:在 HSV 颜色空间中定义要识别的颜色范围。可以使用颜色选择器工具来确定所需颜色的 HSV 值范围。颜色识别函数:创建一个颜色识别函数,用于在图像中识别指定颜色的区域。图像处理:在颜色识别函数中,进行图像处理操作,如转换颜色空间、二值化、膨胀

[19] Opencv_CUDA应用之 基于形状的对象检测与跟踪

Opencv_CUDA应用之 基于形状的对象检测与跟踪 形状可以用作全局特征检测具有不同形状的物体,可以是直线、多边形、圆形或者任何其他不规则形状利用对象边界、边缘和轮廓可以检测具有特定形状的对象本文将使用Canny边缘检测算法和Hough变换来检测两个规则形状,即线和圆 1. Canny 边缘检测 Canny 结合了高斯滤波、梯度寻找、非极大值抑制和滞后阈值处理 高通滤波器对噪声非常敏

OpenCV轮廓、多边形逼近、关键点、周长和面积、边界框、矩、轮廓树、凹凸包、几何直方图、匹配

1.轮廓的多边形逼近  2.轮廓的关键点  3.轮廓的周长和面积  4.轮廓的边界框  5.轮廓的矩  6.轮廓的轮廓树   7.轮廓的凸包和凸缺陷  8.轮廓的成对几何直方图   9.轮廓的匹配    轮廓的特性: 1.轮廓的多边形逼近     轮廓的多边形逼近指的是:使用多边形来近似表示一个轮廓。     多边形逼近的目的是为了减少轮

OpenCV:已知三角形的两边 求夹角的问题(余弦定理)

// 找余弦角度: 线段pt0-pt1 和线段 pt0-pt2: double angle( Point pt1, Point pt2, Point pt0 ) {  double dx1 = pt1.x - pt0.x; double dy1 = pt1.y - pt0.y; double dx2 = pt2.x - pt0.x; double dy2 = pt2.y - pt0.

提取轮廓函数 cvFindContours ---OpenCV

提取轮廓在OpenCV里有一个函数 cvFindContours http://www.myexception.cn/internet/1450415.html [cpp] view plaincopyprint?int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour,int header_

在Windows上用MinGW编译OpenCV项目运行全流程

一、准备软件 OpenCV源码CMake工具MinGW工具链(需要选用 posix 线程版本:原因见此) 二、操作步骤 官网提供了VC16构建版本的二进制包,但是没有给出GCC编译的版本。所以如果使用MinGW进行构建,那就只能从源码开始构建了。 但是如果你愿意用MSVC的话,那就可以跳过编译的步骤(当然也可以不跳过),直接使用二进制文件,进行后面的软件设计: #mermaid-sv

Opencv学习项目5——pyzbar,numpy

上一次我们使用pyzbar进行解码二维码并将其内容显示在图像上,使用的是rect = barcode.rect来获取图像的坐标,这次我们使用另一种方法来获取坐标进行画框。  Numpy介绍 NumPy 是一个用于科学计算的开源 Python 库,提供了对大量数值数据进行高效操作的功能。它是许多其他科学计算库(如 SciPy、Pandas 和 Matplotlib)的基础,并在数据科学、

直方图均衡化(不直接用opencv均衡化函数)

opoencv直接提供了equalizeHist(src, dst); 来均衡化处理,很多图像处理的书本介绍均衡化的都差不多,最后归结到一个对于离散灰度级的转换公式。参考书本《数字图像处理与机器视觉》的P90-91. 该书下载地址:http://pan.baidu.com/share/link?shareid=3551301329&uk=1610854122 效果跟直接使用函数式一样的。 但

opencv实现对数log灰度变换

我的思路太窄了,想了一个遍历的方法。也可以先做通道分解,分析单个通道的log变换。 菜鸟一个,若是有好的想法,还请赐教。 Mat log_image;log_image.create(512,512,CV_8UC1);cvtColor(input_image, input_image, CV_BGR2GRAY);for (int i = 0; i <512; i++){for (

opencv中灰度线性变换问题

近来在读《数字图像处理与机器视觉——Visual C++与Matlab实现》,(该书下载地址:http://pan.baidu.com/share/link?shareid=3551301329&uk=1610854122)想把里面的例子用opencv的方法都去实现一下,读到69页中关于灰度线性变换,直接在refman中按关键字“linear transformation”去查找,找到 C: v