opencv学习 - 图像数字化

矩阵运算

加法(uint8)

  • ndarray的加法与Mat的加法不同:
    以123+150=273为例,Mat会将大于255的数值直接截断,而array会对大于255的uchar类型进行255取模运算后减1,即273%255-1=17.

减法(uint8)

  • ndarray的加法与Mat的减法不同:
    如23-125=-102,Mat处理直接截断为0,numpy处理为对255取模后+1,即-102%255+1=154.

点乘

  • 使用*运算法
  • 使用multiply函数

点除

  • 40/0时,若为uint8型,返回0,否则返回inf.

乘法

  • 使用dot函数

幂函数

  • power函数 把指数设为float型,保留精度

灰度图像数字化

import sys
import cv2
import numpy as np
if __name__ =="__main__":
	image = cv2.imread(r'C:\Users\h\Desktop\image\lena.jpg', cv2.IMREAD_GRAYSCALE)
	cv2.imshow("image",image)
	cv2.waitKey(0)
	cv2.destroyAllWindows()

RGB彩色图转换为三维的ndarray

import sys
import cv2
import numpy as np
if __name__ =="__main__":
	image = cv2.imread(r'C:\Users\h\Desktop\image\lena.jpg', cv2.IMREAD_ANYCOLOR)
	b=image[:,:,0]
	g=image[:,:,1]
	r=image[:,:,2]
	# b=cv2.split(image)[0]
	# g=cv2.split(image)[1]
	# r=cv2.split(image)[2]
	cv2.imshow("b",b)
	cv2.imshow("g",g)
	cv2.imshow("r",r)
	cv2.waitKey(0)
	cv2.destroyAllWindows()

一次性分离

b,g,r = cv2.split(image)

彩色向灰度转化公式:

g r a y = ( 0.114 0.587 0.299 ) ( B G R ) gray=\begin{pmatrix} 0.114& 0.587&0.299\end{pmatrix} \begin{pmatrix} B \\ G\\ R \end{pmatrix} gray=(0.1140.5870.299)BGR
定义cvtColor函数实现彩色空间向灰度图像和其他颜色空间转换

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值