Opencv笔记(七)——访问与操作像素
一、获取矩阵的元素
1、获取三维矩阵img[i,j]处的元素
(b,g,r) = image[i,j],image大小为:MxNxK。
2、获取三维矩阵的子矩阵的全部元素
newimage = image[i:j,p:q],image大小为:MxNxK。
二、获取图片的像素
import numpy as np
import cv2
img = cv2.imread('/home/wl/le.jpeg',1)
print img.shape
print img[500,300]
print img[100:105,300:306]
cv2.imshow('opencv',img)
cv2.imwrite('/home/wl/1.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
原图如下:
结果为:
(729, 640, 3)#shape
[ 48 147 215]#对应点的像素
[[[ 72 172 231]对应区域的全部像素
[ 72 172 231]
[ 72 172 231]
[ 72 172 231]
[ 75 178 235]
[ 70 170 228]]
[[ 72 172 231]
[ 72 172 231]
[ 72 172 231]
[ 72 172 231]
[ 80 183 240]
[ 76 179 236]]]....
三、修改图片的像素
1、修改一点的像素值
import numpy as np
import cv2
img = cv2.imread('/home/wl/le.jpeg',1)
print img[500,300]
img[500,300] = (0,0,255)
print img[500,300]
cv2.imshow('opencv',img)
cv2.imwrite('/home/wl/1.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
结果为:
[ 48 147 215]#img[500,300]处的像素值
[ 0 0 255]#img[500,300]处修改后的像素值
2、修改一个区域的像素值
import numpy as np
import cv2
img = cv2.imread('/home/wl/le.jpeg',1)
img[100:200,200:300] = (255,0,0)
partimg = img[100:200,200:300]
cv2.imshow('opencv',img)
cv2.imwrite('/home/wl/1.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Opencv笔记(七)——访问与操作像素的更多相关文章
- OpenCV 学习之路(2) -- 操作像素
本节内容: 访问像素值 用指针扫描图像 用迭代器扫描图像 编写高效的图像扫描循环 扫描图像并访问相邻像素 实现简单的图像运算 图像重映射 访问像素值 准备工作: 创建一个简单函数,用它在图像中加入椒盐 ...
- Java学习笔记七(目录操作)
1.介绍 上一篇博客介绍的是java中经常使用的操作文件的方式,本篇博客着重解说一下,在Java中是怎样来操作目录的.主要是利用的是Java.IO包以下的File类,本篇博客着重解说一下该类的构造函数 ...
- Python学习笔记七:文件操作
文件操作 对照一个word文件的操作方式,来体会文件操作的内容 打开文件:f=open(“file”),提示编码错误,windows默认是GBK f=open(“file”,encoding=”utf ...
- 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...
- 访问图像中的像素[OpenCV 笔记16]
再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...
- opencv笔记4:模板运算和常见滤波操作
time:2015年10月04日 星期日 00时00分27秒 # opencv笔记4:模板运算和常见滤波操作 这一篇主要是学习模板运算,了解各种模板运算的运算过程和分类,理论方面主要参考<图像工 ...
- OpenCV操作像素
在了解了图像的基础知识和OpenCV的基础知识和操作以后,接下来我们要做的就对像素进行操作,我们知道了图像的本质就是一个矩阵,那么一个矩阵中存储了那么多的像素,我们如何来操作呢?下面通过几个例子来看看 ...
- OpenCV创建轨迹条,图片像素的访问
.OpenCV创建进度条以及图像对比度,亮度调整 1.创建轨迹条createTrackbar() 函数原型C++: intcreateTrackbar(conststring& trackba ...
- OpenCV坐标系与操作像素的四种方法
像素是图像的基本组成单位,熟悉了如何操作像素,就能更好的理解对图像的各种处理变换的实现方式了. 1.at方法 第一种操作像素的方法是使用"at",如一幅3通道的彩色图像image的 ...
随机推荐
- 十五、CI框架之自动加载数据库
一.在config的autoload.php文件中,如果写入以下代码,那么在控制器中无需再次加载数据库了,相当于全局自动加载数据库了 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码 ...
- POJ-3258 (最小值最大化问题)
POJ - 3258 River Hopscotch Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %I64d & ...
- mysql初始化数据库建表脚本
set names utf8; set global validate_password.policy=LOW;set global validate_password.length=6;CREATE ...
- 2pc和3pc区别
2pc和3pc区别 3pc背景: 2pc协议在协调者和执行者同时宕机时(协调者和执行者不同时宕机时,都能确定事务状态),选出协调者之后 无法确定事务状态,会等待宕机者恢复才会继续执行(无法利用定 ...
- choice接口、同花顺使用
一 choice接口使用 1.choice软件-->量化-->下载中心,下载python接口文件 EMQuantAPI_Python 2.要先绑定手机号,绑定后账户权限不够,暂时放弃. 二 ...
- c++ 广度优先搜索
#include <iostream> using namespace std; ; ; // >=9皆可 struct node//声明图形顶点结构 { int vertex; s ...
- [转]分析zookeeper能做什么
Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多.今天我想谈谈zookeeper,本文不谈如何使用zo ...
- (转载)(DescriptionResource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not foun
eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 单击"Server&q ...
- B. Odd Sum Segments CF(分割数组)
题目地址 http://codeforces.com/contest/1196/problem/B B. Odd Sum Segments time limit per test 3 seconds ...
- JS获取当前时间往后一天的时间
(图片来自W3school) let myDate = new Date(); myDate.setDate(myDate.getDate() + 1); let year = myDate.getF ...