Opencv学习:回到原点!关于一些基础的函数
opencv简单的图片读取和显示
1、图像读取
Mat img = imread("C:/clip.png", 1);
imshow("fang2", img);
waitKey(0);
图象显示出来是这样

2、读取图片写入
Mat img = imread("C:/clip.png", 1);
imwrite("C:/clipcopy.jpg",img);
waitKey(0);
实验好像失败了,在指定位置好像没有显示图片。考虑到C盘有权限保护,现在把文件写入到E盘
imwrite("E:/clipcopy.png", img);
成功写入,图片如下

3、图象保存成不同的质量
Mat img = imread("C:/clip.png", 1);
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
compression_params.push_back(100);
cv::imwrite("outImage.jpg", img, compression_params);
imwrite("E:/clipcopy.png", img);
imshow("sbsb", imread("E:/clipcopy.png"));
waitKey(0);
return 0;
这里有个坑,别忘了定义CV_IMWRITE_JPEG_QUALITY:
#define CV_IMWRITE_JPEG_QUALITY 1
3、像素操作
有位老朋友回来了!猜猜他是谁?
对了,就是你们最爱的野兽先辈!
先上处理结果:

即使剩下了半边脸还是能一眼分辨得出野兽先辈的英姿
看见那个白色的线没有?那正是野兽先辈的光荣战果,永远的刻印在了图片上!
分割图像后对像素点进行选定处理。
Mat img = imread("C:/echou.jpg");
Rect rect(0, 0, 200, 200);//分割图像
Mat echo = img(rect);
for (int i=1;i<echo.rows/2;i++)
{
Vec3b *pixel=echo.ptr<Vec3b>(i);
//指定第100行,对1-echo.rows列处理变成白色
pixel[100][0]=255;
pixel[100][1]=255;
pixel[100][2]=255;
}
imshow("彩色图的像素被操作",echo);
waitKey(0);
这是像素处理得到的结果。
我还是纯洁的白色吧?
Opencv学习:回到原点!关于一些基础的函数的更多相关文章
- 精通D3.js学习笔记(1)基础的函数
买了本吕大师的d3可视化.最近来学习一下,做个笔记. 1.选择元素 select(第一元素) 和selectAll(全部的元素) 类似css的选择器.也可以是dom选中的. var i ...
- OpenCV学习3-----利用鼠标、键盘回调函数实现标定人体关节点
最近做实验,需要一些人体关节点的ground truth,需要自己手动标定,于是尝试使用OpenCV的鼠标键盘回调函数实现. 期间遇到不少问题,记录一下. 首先就是鼠标回调函数注册, namedWin ...
- OpenCV学习笔记(一) - 边界填充、Rect函数
边界填充: c++实现,测试在mac pro里,输入720p时间0.4ms: cv::copyMakeBorder(image, dst, , , , , cv::BORDER_REPLICATE); ...
- 学习 shell脚本之前的基础知识
转载自:http://www.92csz.com/study/linux/12.htm 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- paper 93:OpenCV学习笔记大集锦
整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- iOS学习——核心动画之Layer基础
iOS学习——核心动画之Layer基础 1.CALayer是什么? CALayer我们又称它叫做层.在每个UIView内部都有一个layer这样一个属性,UIView之所以能够显示,就是因为它里面有这 ...
- OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...
随机推荐
- 【Git】Git GUI的使用
在Git命令行一文中已经对Git的操作命令进行了简单的介绍,但是理论知识过于枯燥,使得初学者在Git的使用上还是会有很大的困难.虽然我更推荐使用Git Bash方式对Git进行操作,但是对于大部分只是 ...
- 写给自己的话,学院派 C 转 实用派Java
本人计算机专业出身,学校学习过C / VC++. 写过很一般的代码, 刷过北大百炼 ACM 的部分试题.学过数据结(还可以),数据库(学的一般会用sql).用 c指针链表构建过二叉树实现过哈夫曼编码加 ...
- 魔百和CM311-1a YST线刷精简固件(可救砖)
固件说明:1. 魔百和CM311-1a YST测试可用,其它型号自行测试,请慎重使用: 2.支持原装遥控器,语音蓝牙遥控器:3.固件压缩包有刷机教程,请一定仔细阅读. 4.该固件内置应用商店,可以下载 ...
- 返回值分类 (void、string、 modelAndView)
/** * 返回值分类 : 字符串:方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 void: 我们可以使用Servlet 原始 API 可以作为控制器中方法的参数: ModelA ...
- Mapper.xml配置的几种方法:
一. 7.4.1. <mapper resource=" " /> 使用相对于类路径的资源(现在的使用方式,UserMapper接口与UserMapper.xml的包路 ...
- MySQL插入异常:SQL state [HY000]; error code [1366]-----(utf8mb4)
发现爬虫软件,爬取数据不及时,查询服务器日志发现异常: SQL state [HY000]; error code [1366] java.sql.SQLException: Incorrect st ...
- 康谋方案 | 康谋BRICK2与车载以太网设备轻松集成
导读:在当下,汽车行业在安全性.舒适性.智能和万物互联等方面彻底改变了传统车辆的定义.随着这一趋势,汽车行业逐渐开始采用车载以太网来进行车内数据通讯,比如100Base-T1.1000Base-T1, ...
- MySQL 中如何解决深度分页的问题?
MySQL 中如何解决深度分页的问题? 在 MySQL 中,深度分页是指查询数据时,用户请求的是数据集中的较后部分,而不是从头开始的数据.这类分页查询常见于有大量数据的系统中,当页数很大时,查询效率会 ...
- MySQL 中的 MVCC 是什么?
MySQL 中的 MVCC 是什么? MVCC(Multi-Version Concurrency Control) 是 MySQL 数据库用来处理并发访问的技术,特别是在 InnoDB 存储引擎中, ...
- html中的em和rem到底该如何使用,自适应效果中如何确定文字大小/字号?
如今手机屏幕繁多,自适应效果中如何确定文字大小/字号? em rem vm vw vh你都了解吗? 先说说em和rem em:继承父级的,假设html的font-size默认为16px,body字体大 ...