栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

图像识别学习笔记001 通道转换

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图像识别学习笔记001 通道转换

图像识别学习笔记001 通道转换
  • 图片基本操作函数
    • imread函数
    • imwrite函数
  • 通道转换(BGR转RGB)代码:
  • 处理结果

图片基本操作函数

首先,我们要处理的图片为猫咪如下图所示:

cat.jpg

读取图片

import cv2
img = cv2.imread(“cat.jpg”)
print(img)

其输出为

[[[136 186 228]
  [136 186 228]
  [136 186 228]
  ...
  [122 158 188]
  [122 158 188]
  [122 158 188]]

 [[136 186 228]
  [136 186 228]
  [136 186 228]
  ...
  [122 158 188]
  [122 158 188]
  [122 158 188]]

 [[136 186 228]
  [136 186 228]
  [136 186 228]
  ...
  [121 157 187]
  [121 157 187]
  [121 157 187]]

 ...

 [[ 91 132 205]
  [ 91 132 205]
  [ 91 132 205]
  ...
  [ 90 123 196]
  [ 89 122 195]
  [ 88 121 194]]

 [[ 91 132 205]
  [ 91 132 205]
  [ 91 132 205]
  ...
  [ 90 123 196]
  [ 89 122 195]
  [ 88 121 194]]

 [[ 91 132 205]
  [ 91 132 205]
  [ 91 132 205]
  ...
  [ 90 123 196]
  [ 89 122 195]
  [ 88 121 194]]]
imread函数

imread( )功能就是载入一张图片.
imread函数有两个参数,第一个参数是图片路径,第二个参数表示读取图片的形式,有三种:

  • cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1.
  • cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0.
  • cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1.

该函数经常配合imshow( )函数一起使用,imshow()函数功能就是把你刚才载入的图片显示出来.

imread在不加第二个参数的情况下默认将图片转换成了一个三维数组,最里面的一维代表的是一个像素的三个通道的灰度值,第二个维度代表的是第一行所有像素的灰度值,第三个维度,也就是最外面的一个维度代表的是这一张图片.

img = cv2.imread("../cat.jpg")
cv2.imshow("cat", img)

cv2.imread()的系数是按照BGR顺序排列的
其中的变量R表示的是仅有原图像红通道的cat.jpg

import cv2
img = cv2.imread("cat.jpg")
red = img[:,:,2].copy()
imwrite函数

还有一个常用的函数为imwrite().
使用函数cv2.imwrite(file,img,num)保存一个图像.
第一个参数是要保存的文件名,第二个参数是要保存的图像.
可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别.默认为3.

cv2.imwrite("out.jpg", img)
通道转换(BGR转RGB)代码:
import cv2

# function: BGR -> RGB

def BGR2RGB(img):
    b = img[:, :, 0].copy()
    g = img[:, :, 1].copy()
    r = img[:, :, 2].copy()

    # RGB > BGR
    img[:, :, 0] = r
    img[:, :, 1] = g
    img[:, :, 2] = b

    return img

# Read image
img = cv2.imread("../cat.jpg")

# BGR -> RGB
img = BGR2RGB(img)

# Save result
cv2.imwrite("out.jpg", img)
cv2.imshow("result", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
处理结果

进行处理之后的图片如下图所示:

out.jpg
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325745.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号