最近一直在学习opencv和图像处理,自己作个总结吧
int Corner(int i) { int totalnum; cvSetCaptureProperty(capture,CV_CAP_PROP_POS_FRAMES,i); IplImage* imageB = cvQueryFrame(capture); cvSetImageROI(imageB, cvRect(Size,Size, imageB->width-Size, imageB->height-Size)); //提取帧中的(size,size)为点,高为imageB->height-Size //宽为imageB->width-Size IplImage *img2 = cvCreateImage(cvGetSize(imageB), imageB->depth, imageB->nChannels); cvCopy(imageB, img2, NULL); cvResetImageROI(imageB); totalnum = compute_corner(img2); cvReleaseImage(&img2); totalnum = compute_corner(imageB); return totalnum; } int compute_corner(IplImage* image) { int block_size=3; int aperture_size=7; double k=0.04; int totalCornerNum=0; IplImage* im1 = cvCreateImage(cvGetSize(image), IPL_DEPTH_32F, 1); IplImage* tempImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); IplImage* im2 = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); cvCvtColor(image, tempImage, CV_BGR2GRAY); //颜色转化 作为参数CV_BGR2GRAY把rgb转化为灰度级的 cvCornerHarris(tempImage, im1, block_size, aperture_size, k);//哈里斯角点检测,im1存储存储哈里斯(Harris)检测responces的图像。与输入图像等大。 int Thresh=0; double scale=1,shift=0; //该函数首先对输入数组的元素进行比例缩放,然后将shift加到比例缩放后得到的各元素上,即: dst(I)=src(I)*scale + (shift,shift,...),最后可选的类型转换将结果拷贝到输出数组。 cvConvertScale( im1, tempImage, scale,shift); cvThreshold( tempImage, tempImage ,Thresh, 255, CV_THRESH_OTSU ); //取阀值为OTSU把图像转为二值图像 for(int i=0; i<tempImage->height; i++) for(int imdata=0,j=0; j<tempImage->width; j++) { imdata=*(tempImage->imageData + tempImage->widthStep*i+j); if(imdata != 0) totalCornerNum++; } cvReleaseImage(&im1); cvReleaseImage(&tempImage); cvReleaseImage(&im2); return totalCornerNum; }
分享到:
相关推荐
OpenCV(开源计算机视觉库)是一个跨平台的计算机视觉库,包含了众多图像处理和计算机视觉的算法。在本文中,我们将深入探讨OpenCV在Windows、Android平台上的应用以及与OpenCvSharp的关系。 首先,我们关注的是...
opencv4.8.0人脸识别的类库,在windows 10 下 vs2022的cmaker编译。原生的opencv4.8.0是基于jdk11编译的。此版本是基于jdk1.8进行编译。可在相应的环境下运行。 opencv4.8.0人脸识别的类库,在windows 10 下 vs2022...
OpenCvSharp 微信二维码引擎 Demo VS2022+.net 4.8 +OpenCvSharp4 微信开源了其二维码的解码功能,并贡献给 OpenCV 社区。其开源的 wechat_qrcode 项目被收录到 OpenCV contrib 项目中。从 OpenCV 4.5.2 版本开始,...
标题中的“自己编译的opencv4.5.1”指的是用户自行编译的OpenCV库版本为4.5.1,这通常是为了满足特定的系统配置或者为了包含某些非默认的功能模块。OpenCV是一个开源的计算机视觉库,包含了众多图像处理和计算机视觉...
其中, `find_package( OpenCV REQUIRED )` 用于查找OpenCV库, `include_directories(${OpenCV_INCLUDE_DIRS})` 用于添加OpenCV库的头文件路径, `add_executable(Main opencv.cpp)` 用于生成可执行文件, `target_...
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,包含了众多图像处理和计算机视觉的算法。这个资源是OpenCV的4.8.0版本,可能是官方发布的最新或稳定版,用户经过长时间的等待终于下载成功,并决定分享...
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于机器学习、图像分析、人脸识别等领域。在Java环境下,OpenCV提供了`opencv_java`接口,使得Java...
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于机器学习、图像分析、人脸识别等领域。在Java开发中,OpenCV提供了与Java语言的接口,使得开发者...
win10下vs2019编译的opencv470+opencv_contrib,包含opencv python版本的pyd文件和自行编译opencv470的.cache文件,各位可以下载.cache文件自己编译opencv470。所编译的opencv470中的lib和dll不是一个单独的文件,博...
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉的算法,广泛应用于图像分析、机器学习、深度学习等领域。这个"opencv-4.5.5.zip"文件显然是OpenCV库的一个特定版本...
opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接opencv图片拼接...
这个是windows上源码编译opencv4.5.4+opencv-contrib4.5.4时候cmake时候缓存文件,只需要将压缩文件夹解压到opencv源码目录下面即可,cmake-gui上configure时候就不会报错,注意解压后文件夹名字是.cache,文件夹名字...
OpenCV for Unity 是一个资产插件,用于在 Unity 跨平台游戏引擎中使用 OpenCV。 跨平台: iOS & Android & mac& win 商店地址: https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088 ...
OpenCV 在计算机视觉领域扮演着重要的角色。作为一个基于开源发行的跨平台计算机视觉库,OpenCV 实现了图像处理和计算机视觉方面的很多通用算法。本书以当前最新版本的OpenCV 最常用最核心的组件模块为索引, 深入浅...
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,专为图像处理和计算机视觉设计。这个"OpenCV-4.6.0 for Java"版本是针对Java开发者的一个特定构建,提供了Java接口来利用OpenCV的功能。在描述中提到了`...
《OpenCV在Delphi开发中的应用与实践》 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了大量的图像处理和计算机视觉的算法,为开发者提供了丰富的功能,广泛应用于图像分析、...
QT 配置 OPENCV 环境知识点总结 在本篇文章中,我们将详细介绍如何在 QT 环境下配置 OPENCV 环境,包括系统环境变量设置、配置 CMake、编译 OpenCV、添加新生成的 bin 到 Path 环境变量、配置 Qt 中的 OpenCV 等多...
opencv
在本文中,我们将深入探讨如何使用OpenCvSharp库,结合感知哈希算法与图像拼接技术,来实现图片的相似度对比与全景图像生成。首先,我们需要了解OpenCV和OpenCvSharp这两个核心工具。 **OpenCV** 是一个开源的...
openCV 中文手册 openCV 中文手册 openCV 中文手册