昊虹AI笔记

用心记录计算机视觉和人工智能技术

  • 博客(33)
  • 资源 (21)
  • 收藏
  • 关注

原创 利用C++的std::vector定义OpenCV的MAT数组的方法

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601源码如下,一看就明白:1 std::vector<cv::Mat> srcImages(9); srcImages[0] = cv::imread("flower.jpg"); srcImages[1] = cv::imread("flower.jpg"); srcImages[2] = cv::imread("flower

2016-05-31 16:48:24 6682

原创 利用C++中的函数getTickCount()和getTickFrequency()测量代码段的运行时间

利用C++中的函数getTickCount()和getTickFrequency()测量代码段的运行时间

2016-05-31 15:54:59 1690

原创 OpenCV函数saturate_cast<uchar>(int v)的作用

函数saturate_cast()的作用是防止数据溢出,对于saturate_cast<uchar>()而言,其作用可用if语句描述如下:if(data<0) data=0;if(data>255)data=255;实例:pResultData[j]= cv::saturate_cast<uchar>(255 - pSrcData[j]);...

2016-05-31 14:17:30 6390

原创 利用OpenCV的函数Rect()提取感兴趣区域的C++代码

利用OpenCV的函数Rect()提取感兴趣区域的C++代码

2016-05-31 13:08:47 2003

原创 详解语句srcImage(cv::Rect(xRoi,yRoi,widthRoi,heightRoi)).copyTo(roiImage);

对语句srcImage(cv::Rect(xRoi,yRoi,widthRoi,heightRoi)).copyTo(roiImage);理解的前提是正确划分语句,首先把这句话分成两段,如下:srcImage(cv::Rect(xRoi,yRoi,widthRoi,heightRoi)) . copyTo(roiImage);可见,其实是点这个运算符把语句分成了两段。s...

2016-05-31 11:03:14 5093

原创 使用OpenCV的函数createTrackbar()创建窗口滑动条查找图像二值化的最优阈值的C++源码

使用OpenCV的函数createTrackbar()创建窗口滑动条查找图像二值化的最优阈值的C++源码

2016-05-30 16:54:33 4577 1

原创 利用OpenCV的函数warpAffine()做图像的仿射变换【实现图像的平移、缩放、旋转、翻转等操作】

利用OpenCV的函数warpAffine()做图像的仿射变换【实现图像的平移、缩放、旋转、翻转等操作】

2016-05-28 11:53:49 3508

原创 对语句 cv::Point2f srcPoint[3];的理解~

搜索OpenCV的源代码,发现“Point2f”的定义如下:typedef Point_<float> Point2f;关于typedef的含义和作用大家可参见我的另一篇博文,链接如下:https://blog.csdn.net/wenhao_ir/article/details/50930006Point_类型其实就是用处理点的(x,y)坐标的,所以里面两个成员变量x,y,当点坐标值为float类型时,为 Point_<float>,即“Point2f”。同样还

2016-05-27 17:31:40 12895 1

原创 OpenCV中# define CV_EXPORTS __declspec(dllexport)的含义

# define CV_EXPORTS __declspec(dllexport)问题出自:class CV_EXPORTS Mat{...................};__declspec关键字 __declspec(dllexport)声明一个导出函数,是说这个函数要导出成DLL(动态链接库),我要给别人用。__declspec(dllimport)声明一个导入函数,是说这个函数是从别的DLL(动态链接库),导入。不使用__declspec(dllimport..

2016-05-24 12:00:31 2963

原创 VS2012怎么进行Debug模式和Release模式的切换

VS2012的切换方法直接上一张截图大家就知道怎么切换了!如下图所示:

2016-05-23 16:09:07 6621

原创 \opencv\build\x86下的vc6、vc7、vc8、vc9、vc10、vc11、vc12、vc14、vc15是什么意思?

\opencv\build\x86下的vc6、vc7、vc8、vc9、vc10、vc11、vc12、vc14、vc15是什么意思?

2016-05-23 14:09:20 19060

原创 怎样使OpenCV-VS开发环境下生成的exe文件可独立运行(找到exe运行时需要的依赖DLL文件)

要使VS编译生成的exe文件能脱离我们的OpenCV-VS开发环境单独运行,关键是找到其运行所需要的DLL文件。怎么知道其运行时需要哪些DLL文件?使用工具“Dependencies”即可查看,这个工具的百度网盘下载链接:链接:https://pan.baidu.com/s/15t3QKhvQf5SXEFA5X-f7rQ提取码:f591下载解压后找到 DependenciesGui.exe 打开软件!......

2016-05-23 13:48:33 1870

原创 实现图像旋转的MATLAB源码和OpenCV下的C/C++源码

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601源码中用到的lena.jpg、lena_gray.png、pool.jpg图像的下载链接分别为http://pan.baidu.com/s/1sl1jEKthttp://pan.baidu.com/s/1bo5zC2Fhttp://pan.baidu.com/s/1dFv2MM9首先要说明的是,MATLAB得出的图像和OpenCV得出的源码在数据上

2016-05-21 10:35:23 6261

原创 理解OpenCV中的宏定义 CVAPI(函数返回类型)

读代码时看到语句 CVAPI(IplImage*) cvCreateImage( CvSize size, int depth, int channels ); 遂想了解下这个CVAPI到底是怎么回事!#define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECLCV_EXTERN_C 的宏定义是#define CV_EX...

2016-05-20 11:54:31 3452

原创 图像转置的MATLAB和OpenCV源码

注意,图像转置和图像旋转是两回事,图像转置只是把图像的行坐标和列坐标互换,程序实现起来非常简单!而图像旋转则是将图像旋转多少度!图像转置的英文为Transpose,而图像旋转的英文为Image Rotation 请注意区别!下面给出图像转置的MATLAB和OpeCV源码!源码中用到的图像的下载链接为http://pan.baidu.com/s/1boKYKFX首先上MATLAB源...

2016-05-20 11:36:37 2455

原创 #define CV_DEFAULT(val) = val 这样的宏定义是没有问题的~

#define CV_DEFAULT(val) = val这样的宏定义是没有问题的 我最开始以为有问题,是因为没看到等号前边还有一个空格,这句话实质上是把代码中本应该为= val的替换为了CV_DEFAULT(val) 举一个例子吧:int y;int x=5;y CV_DEFAULT(x);//这句话相当于y = x;图像处理开发资料、图像处理开发需求、图像处理接...

2016-05-20 11:14:07 847

原创 顺时针或逆时针旋转180度等于先作一个水平镜像,再作一个垂直镜像

这个问题最好的说明就是用实际的图片说明,如下图所示:图像处理开发资料、图像处理开发需求、图像处理接私活挣零花钱,可以搜索公众号"qxsf321",并关注!图像处理开发资料、图像处理开发需求、图像处理接私活挣零花钱,可以搜索公众号"qxsf321",并关注!图像处理开发资料、图像处理开发需求、图像处理接私活挣零花钱,可以搜索公众号"qxsf321",并关注!...

2016-05-18 13:50:21 6614 1

原创 用OpenCV实现图像的水平镜像变换(翻转)、竖直镜像变换(翻转)(又叫垂直镜像变换)的C/C++源码

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601本文参考博文https://www.cnblogs.com/wangguchangqing/p/4039095.html本文向大家提供三个源码,分别为:①基于OpenCV1.x写的水平镜像变换C源码②基于OpenCV1.x写的竖直镜像变换C源码③基于OpenCV2.x写的包含水平翻转、垂直翻转、同时进行垂直和水平翻转的C++源码:①..

2016-05-18 11:51:03 9973

原创 MATLAB实现图像镜像变换的源代码

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601原理很简单,所以还是直接上源码和运行结果吧!clear all; close all; clc; A=imread('pout_gray.png'); [height,width,dim]=size(A);tform=maketform('affine',[-1 0 0;0 1 0;width 0 1]);B=imtransfor

2016-05-14 15:20:56 10713

原创 在MATLAB下实现图像平移的源代码

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601直接上源码和运行结果吧!I=imread('pout.tif');Tx=10;Ty=30; tform=maketform('affine',[1 0 0;0 1 0;Tx Ty 1]); I_out=imtransform(I,tform,'XData',[1 size(I,2)],'YData',[1 size(I,1)]);

2016-05-14 15:16:20 6429

原创 在OpenCV1.0环境下写的图像平移函数(C/C++代码)

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601图像平移的概念就不用多说了,直接上在OpenCV1.0环境下写的图像平移函数(C/C++代码)#include <opencv2/opencv.hpp> #include <opencv2/legacy/compat.hpp> #include <fstream>using namespace std;

2016-05-14 14:34:52 3340

原创 MATLAB的imtransform()函数作图像平移时如果要体现效果要指定XData 和 YData的值。

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601标题提出的问题实际上是下面两条语句的区别:I_out=imtransform(I,tform);I_out=imtransform(I,tform,'XData',[1 size(I,2)],'YData',[1 size(I,1)]);两条语句运行结果分别如下图所示: 可见,第一句语句没有体现平移效果,而第二句语句体现了平移...

2016-05-14 12:19:35 9350

原创 传统图像、现代图像、人工智能时代图像算法工程师各自的研究内容

一、传统图像算法工程师:主要涉及图形处理,包括形态学、图像质量、相机成像之3A算法、去雾处理、颜色空间转换、滤镜等,主要在安防公司或者机器视觉领域,包括缺陷检测;二、现代图像算法工程师:涉及模式识别,主要表现的经验为Adaboost、SVM的研究与应用,特征选取与提取,包括智能驾驶的研究与应用、行人检测、人脸识别;三、人工智能时代图像算法工程师:深度学习,主要在大型互联网公司或者研究所机构,具体体现在TensorFlow等开源库的研究与应用,包括机器人的研、基于深度学习的人脸识别...

2016-05-10 16:28:23 3301

原创 根据MATLAB的函数histeq()改写的运行在OpenCV1.x下的直方图规定化C++源码

2016-6-8日用C++也实现了直方图规定化,只是结果上和这篇博文的源码有差异,详情http://blog.csdn.net/wenhao_ir/article/details/51605451据说,图像的直方图规定化比直方图均衡化用得更多,但是很奇怪的是OpenCV居然没有图像直方图规定化的源码!所以,我就有必要在OpenCV下写一个图像直方图规定化处理的函数,以方便将来使用。我在网上...

2016-05-10 15:39:34 4274 1

原创 注意:MATLAB的size()函数的返回值是一个1*2的向量哦,即使输入参数是向量也是1*2的向量

MATLAB的size()函数的返回值是一个1*2的向量哦,即使输入参数是向量也是1*2的向量哦返回的向量第一个元素表示有多少行,第二个元素表示有多少列。如果size()的输入参数是一个向量,那么返回向量中有一个为1,或者是行,或者是列。...

2016-05-07 11:01:38 2843

原创 MATLAB-help中的1s是啥意思?

1 help中的1s是啥意思?Y = ones(size(A)) returns an array of 1s that is the same size as A.答案 1的复数 1们

2016-05-07 10:56:23 1160

原创 OpenCV2.3的cvCalcHist函数有问题?255级值总为0,索性自己写一个直方图计算函数,附源码

博主注:已于2022-04-18重写这篇博文,链接如下:https://blog.csdn.net/wenhao_ir/article/details/124235212

2016-05-06 16:51:51 2047 8

原创 VC中各数据类型所表示的范围和占用的字节数是多大?

VC中各数据类型所表示的范围和占用的字节数是多大?

2016-05-06 10:52:02 2903

原创 C/C++中栈溢出/Stack overflow怎么办?

​VC中栈溢出/Stack overflow怎么办?阅读下面三篇文章就知道怎么办了!1 http://www.cnblogs.com/areliang/archive/2012/05/11/2495470.html2https://baike.baidu.com/item/static/95989193 http://blog.csdn.net/yusongwhu/article/details/3428247通过阅读第1篇文章我发现在大数组/二维数组前加static是解决方法!当然因.

2016-05-05 16:15:35 2104

原创 全1的向量与行向量或列向量相乘,实质上是作行复制或列复制!

不多说了,直接看下面的运行结果就清楚了:>> A=[1 2 3];B=[1;1;1];B*Aans =     1     2     3     1     2     3     1     2     3>> A=[1;2;3];B=[1 1 1];A*Bans =     1     1     1     2     2     2

2016-05-05 11:54:18 3103

原创 DSP平台实现图像识别算法总体来说不如嵌入式?

基于DSP的嵌入式视觉应用平台存在的主要问题为:运算速度较低,通常需要设计专用的多核DSP、开发相应的并行处理机制、并利用其提供的指令集进行算法优化,使得专注于图像处理算法的工程师“望而生畏”。而ARM平台不存在上述问题,其优点包括:1 不需要进行二次优化。你只要能够在PC平台上编写出一套高效的图像处理算法,只需要经过交叉编译即可得到能够在ARM平台上高效运行的视觉图像处理算法。2 所见即所得。可以将处理后的图像及目标信息以可视化界面的形式显示到VGA显示器上,且可以通过USB鼠标进行交互。3 速度

2016-05-05 10:38:27 6016 1

原创 MATLAB的iptcheckinput函数详解

函数iptcheckinput()用于检查某个阵列是否满足相应的条件,通常用于对函数的输入阵列是否满足要求进行判定。ipt是image process tools,即图像处理工具的缩写,MALAB里边有一个图像像处理工具箱,里边有一组函数的命名规则是在前面加上iptMATLAB的帮助文档对其描述如下:iptcheckinput(A,valid_classes,valid_attributes, func_name,var_name,arg_pos) checks the validity of

2016-05-03 14:49:29 3153

原创 MATLAB的函数iptchecknargin()有什么用

函数iptchecknargin()用于检查函数输入参数的个数。执行函数主体代码前,先检查函数的输入参数个数是否满足。ipt是image process tools,即图像处理工具的缩写,MALAB里边有一个图像像处理工具箱,里边有一组函数的命名规则是在前面加上ipt。nargin是输入参数个数的意思,是number of arguments input的缩写。在MATLAB的HELP中打开Product Help,然后搜索iptchecknargin,对这个函数的介绍如下:iptche

2016-05-03 14:40:12 2360

ckplayer宽度和高度根据父容器的宽度进行自适应的代码段

ckplayer宽度和高度根据父容器的宽度进行自适应的代码段。 代码里有详细注释,大家一看便知是怎么回事儿。

2024-01-01

github配置个人主页所需的文件

github配置个人主页所需的文件,详细的介绍请参考博文:https://blog.csdn.net/wenhao_ir/article/details/131253801

2023-07-26

提供轮廓拓扑结信息(hierarchy)且contourIdx的值为-1时函数drawContours()是按怎样的规律绘制轮廓

提供轮廓拓扑结信息(hierarchy)且contourIdx的值为-1时函数drawContours()是按怎样的规律绘制轮廓的。 本文档是博文https://blog.csdn.net/wenhao_ir/article/details/125537878的付费内容。 文件付费下载之后请大家用浏览器打开。

2022-07-04

基于OpenCV实现的图像油画效果处理程序(高效率低耗时C++代码-带详细注释)

这个代码的详细介绍见博文https://blog.csdn.net/wenhao_ir/article/details/125363431, 该代码针对大多数图像油画效果实现程序耗时过多的问题进行了优化,在我的计算机上实测300×300的图像只需要0.66秒即可处理完,而CSDN上其它实现同样油画效果的代码一般耗时都在10秒以上。 购买之后在阅读注释过程中有任何疑问都可以在CSDN上发私信咨询我,我工作时都挂着CSDN的,会很快回复您的。

2022-06-20

tensorflow-2.9.1-cp39-cp39-win_amd64.whl

tensorflow-2.9.1-cp39-cp39-win_amd64.whl 使用pip在线安装下载很慢,并且下载到中途还有可能失败,所以给大家提供一个CSDN下载地址。下载下来之后的本地安装方法见博文https://blog.csdn.net/wenhao_ir/article/details/125260565

2022-06-14

scipy-1.8.1-cp39-cp39-win_amd64.whl

scipy-1.8.1-cp39-cp39-win_amd64.whl,pip安装scipy-1.8.1时,此文件下载比较慢,所以提供给大家,下载之后本地安装方法见博文 https://blog.csdn.net/wenhao_ir/article/details/125260565

2022-06-14

scikit_learn-0.24.2-cp36-cp36m-win_amd64

把文件scikit_learn-0.24.2-cp36-cp36m-win_amd64.whl下载到本地后的安装方法见博文https://blog.csdn.net/wenhao_ir/article/details/125260565

2022-06-13

scipy-1.5.4-cp36-cp36m-win_amd64.whl

把文件scipy-1.5.4-cp36-cp36m-win_amd64.whl下载到本地后的安装方法见博文https://blog.csdn.net/wenhao_ir/article/details/125260565

2022-06-13

编译好的OpenCV 4.5.0+VS2019+CUDA模块+python 3.8

OpenCV 4.5.0 x64, VS2019 with CUDA all modules + python 3.8 bindings (Debug) configured with: CUDA 11.1 binaries compatible with compute 3.5-8.6, –-use_fast_math enabled, cv::cuda). cuDNN 8.0.4 (DNN_BACKEND_CUDA). Nvidia’s NVDECODE hardware video decoder (cv::cudacodec::VideoReader). Intel Quick Sync hardware video encoder/decoder (cv::CAP_INTEL_MFX).

2022-06-05

自己编译的适用于win32平台(x86)、VS2013的OpenCV3.0.0+opencv_contrib-3.0.0库

自己编译的适用于win32平台(x86)、VS2013的OpenCV3.0.0+opencv_contrib-3.0.0库 详细介绍见博文:https://blog.csdn.net/wenhao_ir/article/details/125098843 内附OpenCV3.0.0的源码和opencv_contrib-3.0.0的下载链接。

2022-06-04

ippicv_windows_20141027.zip

CMake编译OpenCV-3.0.0源码时需要这个文件,详情见博文 https://blog.csdn.net/wenhao_ir/article/details/125098843 其hash值为 b59f865d1ba16e8c84124e19d78eec57

2022-06-02

利用OpenCV的类BackgroundSubtractorKNN实现对道路监控视频前景/背景提取的代码

代码的详细效果见博文https://blog.csdn.net/wenhao_ir/article/details/125007017 利用OpenCV的类BackgroundSubtractorKNN实现对道路监控视频前景/背景提取的代码 代码中有测试视频的下载链接。 去除车辆阴影的效果不错。

2022-05-27

将图像(矩阵)从直角坐标系转换到极坐标系的MATLAB代码

实现将单通道的图像或矩阵从直角坐标系转化为极坐标的,语言为MATLAB,代码中有详细的注释说明。 详情请参见下面这篇博文: https://blog.csdn.net/wenhao_ir/article/details/124831090

2022-05-18

Discuz主题-帖子浏览记录插件

这个插件的详细介绍链接 https://blog.csdn.net/wenhao_ir/article/details/124767719 这个插件可用于记录并查看每个帖子都有哪些用户进行了浏览,我当时用来找出那些被共享的VIP帐号和盗取自己网站上资源的VIP。 注意:这个插件适用于Discuz的X2.5以上的GBK版本。

2022-05-15

Arpack-arpack编译好的32位(x86)库文件(lib和dll)

Arpack-arpack编译好的32位(x86)库文件(lib和dll),需要的朋友可直接下载使用,免得自己再去下载MINGW然后麻烦地编译了。

2022-05-13

基于H-minima(迭代H-极小值)的标记控制分水岭细胞核分割的MATLAB实现

基于H-minima(迭代H-极小值)的标记控制分水岭细胞核分割的MATLAB实现

2022-05-13

ARPACK-arpack-的所有头文件,比如arlsmat.h、arlspen.h、arlssym.h等

ARPACK-arpack-的所有头文件,比如arlsmat.h、arlspen.h、arlssym.h等

2022-05-11

LSM直线检测算法的源代码

LSM直线检测算法的源代码,了解更多详情可参见博文:https://blog.csdn.net/wenhao_ir/article/details/124636972

2022-05-10

CannyLines直线检测算法编译好的lib库、源代码和测试图片集

CannyLines直线检测算法编译好的lib库、源代码和测试图片集,了解更多详情可参见博文:https://blog.csdn.net/wenhao_ir/article/details/124636972

2022-05-10

ippicv_2019_win_ia32_20180723_general.zip等OpenCV-Cmake时容易缺失的5个文件

关于我上传的这个资源的详情,可见博文: https://blog.csdn.net/wenhao_ir/article/details/124664637 OpenCV4.x进行Cmake时报错"Error in configuration process,project files may be invalid"需要的五个文件。 具体文件名如下: b624b995ec9c439cbc2e9e6ee940d3a2-v0.1.1f.zip 55c0bc8ad27db00116fabf06508de196-opencv_videoio_ffmpeg_64.dll 5de6044cad9398549e57bc46fc13908d-opencv_videoio_ffmpeg.dll 0157251a2eb9cd63a3ebc7eed0f3e59e-ippicv_2019_win_ia32_20180723_general.zip 1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip

2022-05-09

对旋转文本图像矫正时填入函数getRotationMatrix2D()的角度应该是哪个?

对旋转文本图像矫正时填入函数getRotationMatrix2D()的角度应该是哪个? 这个问题来源于博文: https://blog.csdn.net/wenhao_ir/article/details/51733627 中对下面代码的说明。 angel = angel<pi2 ? angel : angel - CV_PI; 这句代码实际上是确定函数getRotationMatrix2D()的第二个参数,函数getRotationMatrix2D()的第二个参数为图像旋转的角度,单位为度,正值代表逆时针旋转。代码的意思为,当我们得到的angle小于π/2时,旋转的角度就为angel。而如果它大于π/2时(等于π/2的情况已经被之前的代码排除了),旋转的角度为angel -π/2。为什么是这样? 这个文档详细介绍了这个问题,由于是自己花时间和精力写的,所以麻烦大家花费1.9元钱购买可见(本来想设置成1元钱的,但是CSDN最低是1.9元),谢谢大家。

2022-05-06

OpenCV-4.1.2.zip

OpenCV-4.1.2的源码,在OpenCV官网点击Sources后的页面无法连接,于是用国外的服务器下载下来的。

2022-02-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除