python opencv3 使用numpy访问图像数据
# coding:utf8
import cv2 """
将bgr在(0, 0)处改为白色像素 0号为green 1号为blue 2号为red
img的每一个位置存一个 3个长度的向量 分别表示gbr
"""
# img = cv2.imread("../data/mm2.jpeg")
# print(img[0, 0]) # [49 65 11]
# img[0, 0] = [255, 255, 255]
# cv2.imshow("", img)
# cv2.waitKey(0) """
将坐标(150, 120) 的蓝色值改为255 建议使用itemset函数完成, 这能避免访问原始索引
"""
# img = cv2.imread("../data/mm2.jpeg")
# print(img.item(150, 120, 0)) # 打印出这个坐标的blue值
# cv2.imshow("", img)
# img.itemset((150, 120, 0), 255) # 将这个位置的blue值设为255
# print(img.item(150, 120, 0)) # 打印这个坐标的blue值 """
将图像所有的green值都设置为0 不推荐使用循环,,使用索引方式能提高程序实现的效率
"""
# img = cv2.imread("../data/mm1.jpg")
# img[:, :, 1] = 0
# cv2.imshow("", img)
# cv2.waitKey(0) """
将某个区域与变量绑定,将值分配给第二个区域
"""
# img = cv2.imread("../data/mm3.jpg")
# my_roi = img[0: 100, 0:100] # 选定宽和高都是0到100的区域为感兴趣的区域
# img[300: 400, 300: 400] = my_roi # 将my_roi区域的值赋给 宽和搞300到400像素的位置
# cv2.imshow("", img)
# cv2.waitKey() """
查看图像的一些属性
shape: 宽度 高度 和 通道数
size: 图像像素的大小
datatype: 图像的数据类型 一般为无符号整型
"""
img = cv2.imread("../data/mm3.jpg")
print(img.shape) # (750, 1000, 3)
print(img.size) #
print(img.dtype) # uint8
python opencv3 使用numpy访问图像数据的更多相关文章
- [oBIX包使用教程] 使用 Python 通过 oBIX 协议访问 Niagara 数据
oBIX 全称是 Open Building Information Exchange,它是基于 RESTful Web Service 的接口的标准,用于构建控制系统.oBIX是在专为楼宇自动化设计 ...
- python web开发-flask访问请求数据request
Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#fla ...
- python: c_char_p指向的bitmap图像数据,通过c_char_Array最终赋值给PIL的Image对象
def GetCurrentImage(self): ok, bitmap, buff_len = self.GetCurrentFrameBitmap() #调用C函数,返回位图数据的指针. bit ...
- 【Tool】Augmentor和imgaug——python图像数据增强库
Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...
- Python过滤掉numpy.array中非nan数据实例
代码 需要先导入pandas arr的数据类型为一维的np.array import pandas as pd arr[~pd.isnull(arr)] 补充知识:python numpy.mean( ...
- 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 3、Python Basics with numpy (optional)
Python Basics with numpy (optional)Welcome to your first (Optional) programming exercise of the deep ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- python及pandas,numpy等知识点技巧点学习笔记
python和java,.net,php web平台交互最好使用web通信方式,不要使用Jypython,IronPython,这样的好处是能够保持程序模块化,解耦性好 python允许使用'''.. ...
- Python 机器学习库 NumPy 教程
0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy ...
随机推荐
- 【leetcode 简单】 第七十六题 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...
- 24、List三个子类的特点
List的三个子类的特点 因为三个类都实现了List接口,所以里面的方法都差不多,那这三个类都有什么特点呢? ArrayList:底层数据结构是数组,查询快,增删慢.线程不安全,效率高. Vector ...
- Python练习-Property的用法
# 编辑者:闫龙 #要求一:自定义用户信息数据结构,写入文件,然后读出内容,利用eval重新获取数据结构 with open('user.db','w') as write_file:#创建并以写入的 ...
- php登陆界面刷新验证码 javascript 的写法
<script type="text/javascript"> function refreshVerify(){ var imgId = document.getEl ...
- 关于在函数中使用Array.prototype.slice.call而不是直接用slice
arguments是每个函数在运行的时候自动获得的一个近似数组的对象(除了length外没有其他属性),这个arguments对象其实并不是Array,所以没有slice方法. Array.proto ...
- ActiveMQ与SpringMVC整合实现发送PTP和订阅发布消息功能
实现一个基于SpringMVC+JMS+ActiveMQ+Tomcat+JDK1.8+IDEA工具 ,Spring4.1.0和ActiveMQ5.15整合的实例,实现PTP和订阅/发布两种消息模型 一 ...
- docker安装(2018-03-14版本)
[安装] 说明一: CENTOS或RHEL自带的docker源不一定是最新的,所以必须到docker.com去找到最新的yum源进行安装 说明二: docker的安装方式有两种: 1. 从指定网站获取 ...
- Eclipse中各种编码格式及设置
操作系统:Windows 10(家庭中文版) Eclipse版本:Version: Oxygen.1a Release (4.7.1a) 刚看到一篇文章,里面介绍说Ascii.Unicode是编码,而 ...
- day05作业
一.1.switch 2.字符串 3.表达式1 4.break 5.continue 二.1.B 2.A 3.BD 4.D 5.B 6.B 7.A 8.D 9.D 10.B 三.1.√ 2.√ 3.× ...
- 1.SpringBoot之Helloword 快速搭建一个web项目
背景: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...