几个入门的简单程序,和对应的CMakeList, 虽然简单重新测一下写一下也是好的。

CMake教程传送门

图像显示

ShowImage.cxx

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp> int main(){
cv::Mat srcImage = cv::imread("1.jpg");
imshow("Original Image", srcImage);
cv::waitKey();
return ;
}

CMakeLists.txt

cmake_minimum_required (VERSION 2.8)
project (ShowImage) find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) # add the executable
add_executable (ShowImage ShowImage.cxx)
target_link_libraries(ShowImage opencv_core opencv_highgui opencv_imgcodecs)

图像腐蚀

ErodeImage.cxx

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp> int main(){
// read image
cv::Mat srcImage = cv::imread("1.jpg"); // show original image
imshow("Original Image", srcImage); // erode image
cv::Mat element = getStructuringElement(cv::MORPH_RECT, cv::Size(,));
cv::Mat dstImage;
erode(srcImage, dstImage, element); // show results
imshow("Image Erosion", dstImage);
cv::waitKey();
return ;
}

CMakeList.txt

cmake_minimum_required (VERSION 2.8)
project (ErodeImage) # find OpenCV packages
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) # add the executable
add_executable (ErodeImage ErodeImage.cxx)
target_link_libraries(ErodeImage opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs)

图像模糊

BlurImage.cxx

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp> int main(){
// read image
cv::Mat srcImage = cv::imread("1.jpg"); // show original image
imshow("Original Image", srcImage); // blur image
cv::Mat dstImage;
blur(srcImage, dstImage, cv::Size(,)); // show results
imshow("Image Blurring", dstImage);
cv::waitKey();
return ;
}

CMakeList.txt

cmake_minimum_required (VERSION 2.8)
project (BlurImage) # find OpenCV packages
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) # add the executable
add_executable (BlurImage BlurImage.cxx)
target_link_libraries(BlurImage opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs)

Canny边缘检测

CannyEdgeDetection.cxx

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp> int main(){
// read image
cv::Mat srcImage = cv::imread("1.jpg"); // show original image
imshow("Original Image", srcImage); // blur image
cv::Mat dstImage, edge, grayImage; // create a matrix the same size as srcImage
dstImage.create(srcImage.size(), srcImage.type()); // convert color image to gray-scale image
// OpenCV2
// cv::cvtColor(srcImage, grayImage, cv::CV_BGR2GRAY);
// OpenCV3
cv::cvtColor(srcImage, grayImage, cv::COLOR_BGR2GRAY); // denoising
blur(srcImage, dstImage, cv::Size(,)); // apply Canny operator
Canny( dstImage, edge, , , ); // show results
imshow("Canny Edge Detection", edge);
cv::waitKey();
return ;
}

CMakeList.txt

cmake_minimum_required (VERSION 2.8)
project (CannyEdgeDetection) # find OpenCV packages
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) # add the executable
add_executable (CannyEdgeDetection CannyEdgeDetection.cxx)
target_link_libraries(CannyEdgeDetection opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs)

图像处理简单实例[OpenCV 笔记1]的更多相关文章

  1. 视频处理简单实例 [OpenCV 笔记2]

    VideoCapture是OpenCV 2.X中新增的类,提供从摄像机或视频文件捕获视频的C++接口.利用它读入视频的方法一般有两种: // method 1 VideoCapture capture ...

  2. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

  3. 实例:图形绘制[OpenCV 笔记15]

    DrawShapes.cxx # include "DrawShapes_utils.h" #define WINDOW_NAME1 "Painting 1" ...

  4. 实例:图像载入、显示、混合与输出[OpenCV 笔记8]

    是的是的,忍着尿意努力更新,就是为了更到wuli男神的部分,当然要把男神放在前面镇楼,欢迎下载配图,具体操作见code wuliEddie.jpg logo.png results.jpg LoadS ...

  5. OpenCV基本架构[OpenCV 笔记0]

    最近正在系统学习OpenCV,将不定期发布笔记,主要按照毛星云的<OpenCV3编程入门>的顺序学习,会参考官方教程和文档.学习工具是Xcode+CMake,会对书中一部分内容更正,并加入 ...

  6. 访问图像中的像素[OpenCV 笔记16]

    再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...

  7. 查找并绘制轮廓[OpenCV 笔记XX]

    好久没有更新了,原谅自己放了个假最近又在赶进度,所以...更新的内容是很靠后的第八章,因为最近工作要用就先跳了,后面会更新笔记编号...加油加油! 在二值图像中寻找轮廓 void cv::findCo ...

  8. 滑动条 Trackbar[OpenCV 笔记9]

    OpenCV中没有实现按钮的功能,我们可以利用滑动条来实现按钮功能. , ); trackbarname 轨迹条的名字. winname 窗口的名字,轨迹条会依附在这个窗口上. value 一个指向整 ...

  9. 输出图像到文件 imwrite()[OpenCV 笔记7]

    bool imwrite(const string& filename, InputArray img, const vector<int>& params=vector& ...

随机推荐

  1. 2D游戏编程6—windows程序模板

    // INCLUDES /////////////////////////////////////////////// #define WIN32_LEAN_AND_MEAN // just say ...

  2. poj 2451 Uyuw's Concert(半平面交)

    Uyuw's Concert Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 8580   Accepted: 3227 De ...

  3. Intellij IDEA调试

    这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可. 2.开启调试会话 ...

  4. JOptionPanel类的解析

    JOptionPane类提示框的一些常用的方法 XMLOracleSwing  最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理 ...

  5. JavaScript- 省市联动代码

    以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...

  6. js获取几个月前,几周前时间。

    /**  *  DK 命名空间  防止全局变量污染  */ var DK = {} ; /**  * 获取前几个月,默认为一个月,当前时间  * @author duke  * @date 格式为yy ...

  7. Android 获取WIFI MAC地址的方法

    1. 经常用法,调用Android的API:WifiManager <uses-permission android:name="android.permission.ACCESS_W ...

  8. [转]开源应用架构之asterisk

    作者:Russell Bryant 翻译:jiazhengfeng Asterisk[1]是一款GPLv2协议下的开源电话应用平台.简单来说,Asterisk是一个服务器应用,能够完成发起电话呼叫.接 ...

  9. Apache Kafka: Next Generation Distributed Messaging System---reference

    Introduction Apache Kafka is a distributed publish-subscribe messaging system. It was originally dev ...

  10. 使用 JSSE 定制 SSL 连接的属性--转载

    当数据在网络上传播的时候,通过使用 SSL 对其进行加密和保护,JSSE 为 Java 应用程序提供了安全的通信.在本篇有关该技术的高级研究中,Java 中间件开发人员 Ian Parkinson 深 ...