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)几何学,立体视觉是计算机视觉的一个分 ...
随机推荐
- Delphi 多线程使用
1. 定义线程类 type TMyThread = class(TThread) private { Private declarations } fPos:Integer; // 变量 protec ...
- 阿里Java开发手册泰山版来袭
阿里Java开发手册自2016年12月7日发布公开版以来,距今已发布7个版本,被越来越多的公司拿来直接或略微修改后作为公司的Java开发规范手册,嫣然成为行业的标杆. 就在昨天早上8点,阿里Java开 ...
- 使用Python+SymPy求解微分方程
引言 在学习微积分或者物理.工程相关的学科时,微分方程常常是我们需要解决的一个重要问题.微分方程是包含未知函数及其导数的方程,广泛应用于描述变化过程中的规律,如物理中的运动方程.化学中的反应速率.经济 ...
- Asp.net core基础(一)Entity FrameworkCore的增删查改
一.EntityFramework Core的介绍 EntityFramework Core是.net core中的ORM(object relational mapping[对象关系映射])框架,它 ...
- Python3循环结构(一)for循环
Python3循环结构 在Python中主要有两种类型的循环结构:for循环和while循环.for循环一般用于有明显边界范围的情况,例如,计算1+2+3+4+5+-+100等于几的问题,就可以用fo ...
- Next App Router 模式下,如何同步服务端 Redux 初始状态?
大家的阅读是我发帖的动力,本文首发于我的博客:deerblog.gu-nami.com/,欢迎大家来玩,转载请注明出处喵. 前言 Next.js 是一个广受欢迎的 React 服务端渲染(Server ...
- java8接口新特性:default、static
java8之前接口中的方法默认类型都是public abstract,也就是抽象方法,具体实现都交给实现类.而java8对接口功能做了增强,增加了default方法和static方法,也就是说从jav ...
- [tldr] GO语言异常处理
在开发中, 处理异常是很重要的, 考虑各种错误情况并且提出对应的解决办法是保证不出大BUG的重要之处. error in go GO语言的异常是很简单的, 只需要实现Error函数接口即可 func ...
- uv全功能更新:统一管理Python项目、工具、脚本和环境的终极解决方案
花下猫语:uv 项目自发布起就大受欢迎,目前 Github star 52.6 K,远超过它的同类竞品们.前不久,它的创始人在 X 上披露了一组惊人的数据:uv 曾占据了 PyPI 超过 20% 的流 ...
- K8s新手系列之Endponit
概述 官方文档:https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/service-resources/endpoints-v1/ En ...