OpenCV 图像处理 显示

PIL、 matplotlib 和 OpenCV的存储方式不一样,前两者是( R, G, B ),后者是(B , G, R )
因此最好不要用matplotlib (plt)显示OpenCV处理的图像

OpenCV显示

cv2.imshow(" name", image)  #name是显示窗口的名称
cv2.waitKey(0)  			#按键盘时,鼠标要落在显示窗口上
cv2.destroyAllWindows()
# -*- coding: utf-8 -*-
import cv2
import numpy as np
import matplotlib.pyplot as plt

#cv2.IMREAD_COLOR:读入一副彩色图像,图像的透明度会被忽略
#cv2.IMREAD_GRAYSCALE:以灰度模式读入图像

#读取和保存图像
#img = cv2.imread("tmp.jpg")
#cv2.imwrite("tmp.png",img)  #" "内为保存的图像名称

#高斯滤波
def GausBlur(img):
    gaus = cv2.GaussianBlur(img,(5,5),2)   #(5, 5)表示高斯矩阵的长与宽都是5,标准差取2    
    return gaus

#imread 读的彩色图按照BGR像素存储,如果转换成RGB则需要用cvtColor函数进行转换
src = cv2.imread("tmp.jpg")
src_rgb = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)
src_gray = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY) #由于是BGR存储,所以不是灰色
cv2.imshow("src", src)
cv2.imshow("srcsrc_rgb", src_rgb)
cv2.imshow("gray", src_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

guas = GausBlur(src_gray)
cv2.imshow("guas", guas)
cv2.waitKey(0)
cv2.destroyAllWindows()

#imread读取的图片按照Hight,Weight,Channel 格式存储
print("src shape: ",src.shape)
print("src_gray shape: ",src_gray.shape)

#gray = 0.3*R+0.59*G+0.11*B
(B, G, R) = cv2.split(src) #分离图像的BGR分量
(R1, G1, B1) = cv2.split(src_rgb) 

# 把灰度处理过的图片二值化, 调节阈值可以查看二值化的程度
# 这个函数有四个参数, 第一个原图像src_gray, 第二个进行分类的阈值148, 
# 第三个是高于(低于)阈值时赋予的新值255, 第四个是一个方法选择参数
# cv2.THRESH_BINARY为()黑白二值)
# cv2.THRESH_BINARY_INV()为反过来的黑白二值
ret , binary = cv2.threshold(src_gray ,148 , 255 , cv2.THRESH_BINARY_INV)  
cv2.imshow("binary", binary)
cv2.imshow("~binary",~binary)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值