当前位置:首页 » 操作系统 » opencvsobel源码

opencvsobel源码

发布时间: 2022-05-07 16:29:05

Ⅰ Sobel算子的C代码

/**/unsignedchara00,a01,a02;unsignedchara10,a11,a12;unsignedchara20,a21,a22;voidMySobel(IplImage*gray,IplImage*gradient){CvScalarcolor;for(inti=1;i<gray->height-1;++i){for(intj=1;j<gray->width-1;++j){a00=cvGet2D(gray,i-1,j-1).val[0];a01=cvGet2D(gray,i-1,j).val[0];a02=cvGet2D(gray,i-1,j+1).val[0];a10=cvGet2D(gray,i,j-1).val[0];a11=cvGet2D(gray,i,j).val[0];a12=cvGet2D(gray,i,j+1).val[0];a20=cvGet2D(gray,i+1,j-1).val[0];a21=cvGet2D(gray,i+1,j).val[0];a22=cvGet2D(gray,i+1,j+1).val[0];//x方向上的近似导数doubleux=a20*(1)+a21*(2)+a22*(1)+(a00*(-1)+a01*(-2)+a02*(-1));//y方向上的近似导数doubleuy=a02*(1)+a12*(2)+a22*(1)+a00*(-1)+a10*(-2)+a20*(-1);color.val[0]=sqrt(ux*ux+uy*uy);cvSet2D(gradient,i,j,color);}}}//注释:该程序需要在安装Opencv软件下运行。Matlabps=imread('D:14.jpg');%读取图像subplot(1,3,1)imshow(ps);title('原图像');ps=rgb2gray(ps);[m,n]=size(ps);%用Sobel微分算子进行边缘检测pa=edge(ps,'sobel');subplot(1,3,2);imshow(pa);title('Sobel边缘检测得到的图像');

Ⅱ 如何使用cvsobel opencv

1.OpenCV确实是在运行时自动加载这些优化库, 不需要运行cvUseOptimized()函数, 前提是库的相关路径注册了环境变量(之前我没注册, 所以没有加载成功).
可运行如下程序进行检验:
const char* opencv_libraries = 0;
const char* addon_moles = 0;
cvGetMoleInfo( 0, &opencv_libraries,&addon_moles );
printf( "OpenCV: %s\\r\\nAdd-on Moles: %s\\r\\n.", opencv_libraries, addon_moles);
如果自动加载成功会输出:
OpenCV: cxcore: 1.0.0, cv: 1.0.0
Add-on Moles: ippcv-5.1.dll, ippi-5.1.dll, ipps-5.1.dll, ippvm-5.1.dll, ippcc-5.1.dll, mkl_p4.dll
此时再运行cvUseOptimized(1), 通过查看返回值, 可以知道有多少个函数被优化。

2.不同函数优化的程度不一。
用几个函数测试了一下加载优化库后的优化程度:
系统: P4(2.6G) 512MB XP VC6
测试图像: 768×576 8UC1
循环100次
测试函数 cvSmooth(CV_GAUSSIAN,31*31) 2493ms(with IPP) 5498ms(without IPP)
测试函数 cvSobel(7*7) 1674ms(with IPP) 1672ms(without IPP)
测试函数 cvCanny(3*3) 2901ms(with IPP) 3385ms(without IPP)
可以看出不同函数优化的程度不一样, cvSmooth优化程度很高, 性能提升50%多, cvSobel基本没有变化, 网上有的老外还说用了IPP之后速度下降了 .
所以究竟用不用IPP(199美元呢), 还得各位测试一下自己的程序, 好在现在还有Evaluation版的IPP可以用。要是OpenCV下个版本能提供一份儿各个函数优化表就好了.

Ⅲ 你好,请问您怎么用opencv检测一幅图片的边缘,主要是怎么进行图片平滑还有怎么应用Prewitt算子、sobel!

说说我的做法~
在提取边缘时,前处理工作很重要!且,噪音全都去掉是比较困难的是
1.可以先做平滑cvSmooth,去除噪音
2.可以用正规化或者直方图均衡化来处理图像像素~
3.用CLAHE算法,增加对比度
4.prewitt,sobel,算子都不是很精确,canny算子虽比较好但是不能提取封闭轮廓。你可以用snake,或者GVFsnake来动态提取边缘,但是之前得提取初始边缘。
以上,如果你想用prewitt,sobel的话可以到opencv论坛去搜索,答案有很多。
http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5这是论坛
http://www.opencv.org.cn/index.php/Canny%E8%BE%B9%E7%BC%98%E6%A3%80%E6%B5%8B这是canny检测的例子
http://fsa.ia.ac.cn/opencv-doc-cn/opencv-doc-cn-0.9.7/ref/opencvref_cv.cn.htm这是函数的用法
祝你成功

Ⅳ 如何查找opencv中的函数

我们知道openCV是开源的图像处理库,所以我们有时候想查看一下某些关键函数的源码,我常用的方法(针对Visual Studio开发平台)就是右键选择要查找的函数或数据类型定义然后在弹出的快捷方式中选择“转到定义”(或“Go to definition”英文版本),这是就可以自动转到函数定义部分。但是,openCV将很多函数被加入了函数库,并被编译成了dll,所以只能看到函数申明,没法看到原始代码。我的解决方法如下:(openCV2.3.1+VS2008)
1、首先要熟悉openCV安装目录,例如我的安装目录是F:\program files\opencv2.3.1。在这个目录下面还有很多子目录:3rdparty、android、build,data、doc、include、moles、samples和很多cmake文件。对于编程来说,仅仅需要build这一个文件夹就可以了,因为编程环境的配置只与这一个目录有关,如:包含目录配置、库目录配置,具体可以参考http://www.opencv.org.cn/index.php/VC_2008_Express下安装OpenCV2.3.1。build目录是编译生成的目录,就是用openCV源代码编译生成的2进制库文件集(dll、lib和入口头文件include)。以下是文档组织结构截图:

2、那其他文件夹下的文件都是干嘛用的呢?其实源代码就包含在这些文件夹下面,因为build文件夹就是在其他文件夹的基础上CMake编译生成的。(可以参考CMake编译部分http://www.opencv.org.cn/index.php/VC_2008_Express下安装OpenCV2.3.1)大部分源代码放在moles文件夹下(如下截图)

例如,core文件夹下就包含了基本数据类型的定义,imgproc文件夹下包含了常用的数字图像处理函数源代码:如cvCanny()、cvSobel()。
3、用CMake导出opencv 源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程

Ⅳ opencv用sobel算子进行处理后的图像,怎么提取梯度信息。

给你一段代码
void Gradient(Mat& InputArray, Mat& OutputArray)
{
//转换为灰度图像
Mat InputArray_gray(height, width, CV_32F);
cvtColor(InputArray, InputArray_gray, CV_RGB2GRAY);
// 创建X、Y方向梯度图像变量
Mat grad_x, grad_y;
Mat abs_grad_x, abs_grad_y;// 梯度绝对值
// X方向梯度 并取绝对值
Sobel( InputArray_gray, grad_x, InputArray_gray.depth(), 1, 0);
convertScaleAbs( grad_x, abs_grad_x );
// Y方向梯度 并取绝对值
Sobel( InputArray_gray, grad_y, InputArray_gray.depth(), 0, 1);
convertScaleAbs( grad_y, abs_grad_y );
//计算梯度值的平方
pow(abs_grad_x, 2.0f, abs_grad_x);
pow(abs_grad_y, 2.0f, abs_grad_y);
//OutputArray = abs_grad_x + abs_grad_y;
add(abs_grad_x, abs_grad_y, OutputArray, noArray(), CV_32F);
//显示梯度平方
//imshow("Gradient", OutputArray);
//waitKey(0);
}

Ⅵ 我想知道opencv边缘检测中的sobel,canny算子的数学原理需要去理解吗,还是这直接记住它的功能就好!

如果要学习的话,有本书叫仿真影像学,可以拿来看一下,里面各种算子的原理讲的很清楚。
如果只要有个初步理解,网络就行http://ke..com/view/676368.htm
http://ke..com/view/4709162.htm
这些算子原理都很简单的,学习一下不会花很多时间,建议你最好学习一下,知其然更要知其所以然。

Ⅶ 如何查看Opencv中自带内部函数的源代码

opencv都带有这个函数的代码,你在用的时候,选择函数,然后右键选择”go to denifition of cvCalOpticalFlowHS"--->然后就会跳 到定义cvCalOpticalFlowHS的定义文件,就会跳到cv.h头文件来(说明cvCalOpticalFlowHS在cv.h文件中定义的),然后你去cv.cpp文件,按"Ctrl+F" 输入函数名进行搜索,就能找到cvCalOpticalFlowHS函数的源文件了。
1、首先要熟悉openCV安装目录,例如我的安装目录是F:\program files\opencv2.3.1。在这个目录下面还有很多子目录:3rdparty、android、build,data、doc、include、moles、samples和很多cmake文件。对于编程来说,仅仅需要build这一个文件夹就可以了,因为编程环境的配置只与这一个目录有关,如:包含目录配置、库目录配置build目录是编译生成的目录,就是用openCV源代码编译生成的2进制库文件集(dll、lib和入口头文件include)。

2、那其他文件夹下的文件都是干嘛用的呢?其实源代码就包含在这些文件夹下面,因为build文件夹就是在其他文件夹的基础上CMake编译生成的
例如,core文件夹下就包含了基本数据类型的定义,imgproc文件夹下包含了常用的数字图像处理函数源代码:如cvCanny()、cvSobel()。
3、用CMake导出opencv 源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程

Ⅷ 如何查找openCV函数源代码

1、首先要熟悉openCV安装目录,例如我的安装目录是F:\program files\opencv2.3.1。在这个目录下面还有很多子目录:3rdparty、android、build,data、doc、include、moles、samples和很多cmake文件。对于编程来说,仅仅需要build这一个文件夹就可以了,因为编程环境的配置只与这一个目录有关,如:包含目录配置、库目录配置build目录是编译生成的目录,就是用openCV源代码编译生成的2进制库文件集(dll、lib和入口头文件include)。

2、那其他文件夹下的文件都是干嘛用的呢?其实源代码就包含在这些文件夹下面,因为build文件夹就是在其他文件夹的基础上CMake编译生成的
例如,core文件夹下就包含了基本数据类型的定义,imgproc文件夹下包含了常用的数字图像处理函数源代码:如cvCanny()、cvSobel()。
3、用CMake导出opencv 源码,生成VC++项目,然后用vs打开工程,去里面搜索整个工程

Ⅸ opencv2.3.1中, sobel函数的源代码在哪个文件中

OpenCV中好多函数都是封装好了的,给你个链接地址,你看看能不能把源代码导出来吧
http://blog.sina.com.cn/s/blog_5e8715490101fjed.html

Ⅹ OpenCV中不用库函数实现sobel算子

cvLoadImage("depth.png",1);参数是1载入的是彩色图片。

热点内容
ins苹果注册如何获取服务器地址 发布:2024-10-07 22:25:43 浏览:626
android怎么改 发布:2024-10-07 22:24:13 浏览:863
我的世界ec服务器消失了 发布:2024-10-07 21:48:30 浏览:661
pythonziptodict 发布:2024-10-07 21:36:09 浏览:790
linux操作系统教程 发布:2024-10-07 21:16:54 浏览:280
摩托音响怎么配置 发布:2024-10-07 21:12:37 浏览:348
本田思域哪个配置好 发布:2024-10-07 21:04:11 浏览:347
算法期末试卷 发布:2024-10-07 20:51:04 浏览:808
编译期错误提示 发布:2024-10-07 20:07:23 浏览:297
阿里云服务器打开慢 发布:2024-10-07 20:06:33 浏览:578