Opencv今天我们来谈谈图像核心基础操作(慢慢长路啊,福利有没有啊?)

图像的基础操作

1.获取并修改像素值

我们用

  1. px=img[233,233]
  2. print px

来获取目标像素,(233,233)第一个233表示行,第二个233表示列

输出BGR,记住是BGR

  1. blue=img[233,233,0]
  2. green=img[233,233,1]
  3. red=img[233,233,2]

这里的三个参数还是行和列外加一个数组,0表示blue,1表示green,2表示red

然后用print输出

  1. print blue
  2. print green
  3. print red

大家猜一下输出结果,待会结果统一到一起展示

我们会了取目标的像素值,更改目标像素值就简单了,赋给它一个你想要的值就好了

  1. img[233,233]=[255,255,255]
  2. print img[100,100]

有一个更好的办法,这里暂时先不介绍,包括后来还有好多出现的错误,这节课先不讲,毕竟错误太多,需要总结,等总结好了,再发~

2.获取图像属性

图像的属性包括:行,列,通道,图像数据类型,像素数目等

我们用

  1. print img.shape

可以获取图像的形状。他的返回值是一个包含行数,列数, 通道数的元组。

(3通道表示彩色)如果是灰度图的话,返回值只有行数和列数。

我们用

  1. print img.size

返回图像的像素数目

我们用

  1. print img.dtype

返回图像的数据类型

3.图像 ROI

我这块有些乱并没有找到zu球。。。而且没得到原图

所以拿了范围内的坐标试了一下,另外我不知道自己找到了啥,所以起名为what

  1. what=img[180:200,230:250]
  2. img[43:63,93:113]=what

今天先讲这么多,上具体代码~

# -*- coding: utf-8 -*-
"""
Created on Wes Jan 11 3:12:51 2017

@author: Y

"""

import cv2
import numpy as np
img = cv2.imread('C:\Users\Administrator\Desktop\opencvimg\wtf.png')

px = img[233,233]
print px
     
blue = img[233,233,0]
green = img[233,233,1]
red = img[233,233,2]
print blue
print green
print red

img[33,233]=[255,255,255]
print img[23,233]

print img.dtype
print img.size
print img.shape

what=img[180:200,230:250]
img[43:63,93:113]=what

cv2.imshow('img',img)
k = cv2.waitKey(0)&0xFF
cv2.destroyAllWindows()
这是所有的运行结果啦~

发现图像上的那个小白点了吗,本来用的233,233 不过不明显,我就给改成了23,233,不过真的不明显啊,2333

我把用的图发一下

将就着用这张图吧~

1月9号的那天我竟然当成了周二过。。。今天写注释的时候才发现今天周三,我已经没有了时间观念,大家千万要放宽心态的学习,多锻炼锻炼身体,不说了,我要去找回我的8块腹肌~

mdzz,说好的福利呢?!

发表评论

电子邮件地址不会被公开。 必填项已用*标注