Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

  安装Opencv之后,首先要写一份代码测试一下是否ok。

本文代码图像边沿检测的:

  

复制代码
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

int main( int, char** argv )
{

    Mat src,gray,Kernelx,Kernely;


    src = imread( argv[1] );
    cvtColor( src, gray, CV_RGB2GRAY );
    namedWindow("srcImage", 1);
    namedWindow("dstImage", 1);

    Kernelx = (Mat_<double>(3,3) << 1, 1, 1, 0, 0, 0, -1, -1, -1);
    Kernely = (Mat_<double>(3,3) << -1, 0, 1, -1, 0, 1, -1, 0, 1);

    Mat grad_x, grad_y;
        Mat abs_grad_x, abs_grad_y, grad;

    filter2D(gray, grad_x, CV_16S , Kernelx, Point(-1,-1));
    filter2D(gray, grad_y, CV_16S , Kernely, Point(-1,-1));
    convertScaleAbs( grad_x, abs_grad_x );
    convertScaleAbs( grad_y, abs_grad_y );

    addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad );
    imshow("dstImage", grad);

    waitKey();

    return 0;
}
复制代码

  使用编译命令:

 

 g++ -o sample sample.cpp `pkg-config --cflags --libs opencv`

  测试运行结果:

  

 ./sample lena_hui.jpg 

  问题解决:

1 报错: error while loading shared libraries: libopencv_core.so.3.2: cannot open shared object file: No such file or directory

解决方案: export LD_LIBRARY_PATH=$LD_LIBARARY_PATH:/usr/local/lib 加入到bashrc中。

 

posted on   虚生  阅读(637)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示