opencv 2 学习笔记1
来源:互联网 发布:在线数据库设计 编辑:程序博客网 时间:2024/05/16 00:38
虽然以前用过opencv, 但那是本科做机器人的时候的事情了, 那时候用的还是opencv1.0的库, 就是那个到处都带着cv前缀的那个。现在准备转投opencv2.0,虽然,相关的操作用matlab是没有问题的, 可是毕竟学了这么多年C/C++, 实验室还是和图像处理相关的, 以后出去找工作, 说起来要是连opencv也不会, 那实在是太丢人了, 于是准备开始花上一段时间补习一下opencv的基本操作。
我们用的参考书是<< opencv2 计算机视觉编程攻略 >>
这次主要实践的是 imread, imshow, puttext, 以及ROI操作
实验发现, ROI操作中, roi 区域的图像格式一定要和 logo图像格式相同,才能显示效果, 否则是没有效果的23333
#include <opencv.hpp>#include <string>#include <iostream>using namespace std;using namespace cv;int main(int argc, char *argv[]){ // 配置环境 string fileFolder = "E:/system dir/Desktop/QT/opencv2 computer vision/Opencv2/images/chap 1 ustc/"; string background = fileFolder + "ustc2.jpg"; string logo = fileFolder + "ustc.jpg"; // 载入src 和 logo Mat m_src = imread(background); Mat m_logo = imread(logo); // 验证输入 if (m_src.empty() || m_logo.empty()){ cerr << "failed to load images" << endl; return EXIT_FAILURE; } // 缩放 resize(m_logo, m_logo, Size(0, 0), 0.5, 0.5); // 二值化反转 threshold(m_logo, m_logo, 150, 255, CV_THRESH_BINARY_INV); // roi Mat roi = m_src(Range(m_src.rows - m_logo.rows, m_src.rows), Range(m_src.cols - m_logo.cols, m_src.cols)); // mask 0 无效, 1 覆盖 Mat mask(m_logo); m_logo.copyTo(roi, mask); // 显示文字 putText(m_src, "ustc 2015.10.18 by zhyh2010", Point(20, m_src.rows - 20), FONT_HERSHEY_COMPLEX, 1, Scalar(0), 2, CV_AA); // 显示 imshow("src", m_src); waitKey(); return EXIT_SUCCESS;}
显示效果:
0 0
- opencv 2 学习笔记1
- OPENCV学习笔记(2)
- OpenCV 2学习笔记
- opencv 学习笔记2
- opencv学习笔记2
- OpenCV学习笔记(1)
- OPENCV学习笔记(1)
- OPENCV 学习笔记1
- opencv学习笔记-1
- opencv学习笔记1
- OpenCV 学习笔记1
- OpenCV学习笔记1
- OpenCV学习笔记1
- opencv 学习笔记1
- opencv学习笔记---1
- OpenCV学习笔记1
- OpenCV 2 学习笔记(1): OpenCV 2.4.3 的安装
- OpenCV学习笔记(1):配置OpenCV
- 如何实现支持数亿用户的长连消息系统
- 创建数据库与完成数据添删改查(一)
- web.xml中listener, filter, servlet加载顺序
- Linux网卡切换测试
- 每周更新知识
- opencv 2 学习笔记1
- shell let expr $(()) 命令
- DayDayUP_Linux运维学习_DNS安装与使用
- 用整数类型处理货币
- CAS单点登录那点事(一)
- CocoaPods安装和使用
- 【IOS 开发学习总结-OC-56】故事板storyborad的segue
- 获取最新的、趋势性的、专业性的信息,保持竞争力
- NUC.2015.秋.队内训练赛-第一场