处理图像的一点心得

20191121

我主要是使用的是matlab和python语言。c++是我的复语言。

在处理图像时候,如果图像数据的类型是float,cv2.imshow时候,那么其中value大于1的为白色,小于0的为黑色。

在处理图像时候,如果图像数据的类型是uint,就是平时我们读取的时候的数据。

某些运算中(gamma,融合等等),需要图像数据会变成float32,python在写代码时候并不会提示这些。如果在你显示时候,出现一片白色。可以提看下时候数据类型变成了float32。

演示代码

import cv2
import numpy as np
tmp = cv2.imread(r"E:\py_code\img_treatment\img\1.jpg")
tmp = cv2.resize(tmp,(300,300))
float_Value = np.float32(tmp)
cv2.imshow("float_Value",float_Value)
uint_value = np.uint8(tmp)
cv2.imshow("uint_value",uint_value)

cv2.waitKey()

结果

在c++中,常会调用那个啦,哈哈 忘记了怎么写。U3C3,F3C1之类的东西,实在想不起来了。

20200101

关于饱和运算问题,与opencv/numpy的运算函数

import cv2
import numpy as np
# 一维数组
a = np.linspace(0.1,1,10)
a = cv2.normalize(a, None, 0, 255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8UC3)
print(a+10)
print(cv2.add(a,10))
print(a-20)
print(cv2.subtract(a,20))
# 三维的
b = np.linspace(1,27,27).reshape(3,3,3)
b = cv2.normalize(b, None, 0, 255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8UC3)
print(b)
print(b+10)
print(cv2.add(b,10))
print(np.add(b,10))
print(b-20)
print(cv2.subtract(b,20))

结果

# 一维
[[ 10]
 [ 38]
 [ 67]
 [ 95]
 [123]
 [152]
 [180]
 [208]
 [237]
 [  9]]
[[ 10]
 [ 38]
 [ 67]
 [ 95]
 [123]
 [152]
 [180]
 [208]
 [237]
 [255]]
[[236]
 [  8]
 [ 37]
 [ 65]
 [ 93]
 [122]
 [150]
 [178]
 [207]
 [235]]
[[  0]
 [  8]
 [ 37]
 [ 65]
 [ 93]
 [122]
 [150]
 [178]
 [207]
 [235]]
# 三维
[[[  0  10  20]
  [ 29  39  49]
  [ 59  69  78]]

 [[ 88  98 108]
  [118 128 137]
  [147 157 167]]

 [[177 186 196]
  [206 216 226]
  [235 245 255]]]
[[[ 10  20  30]
  [ 39  49  59]
  [ 69  79  88]]

 [[ 98 108 118]
  [128 138 147]
  [157 167 177]]

 [[187 196 206]
  [216 226 236]
  [245 255   9]]]
[[[ 10  10  20]
  [ 39  39  49]
  [ 69  69  78]]

 [[ 98  98 108]
  [128 128 137]
  [157 157 167]]

 [[187 186 196]
  [216 216 226]
  [245 245 255]]]
[[[ 10  20  30]
  [ 39  49  59]
  [ 69  79  88]]

 [[ 98 108 118]
  [128 138 147]
  [157 167 177]]

 [[187 196 206]
  [216 226 236]
  [245 255   9]]]
[[[236 246   0]
  [  9  19  29]
  [ 39  49  58]]

 [[ 68  78  88]
  [ 98 108 117]
  [127 137 147]]

 [[157 166 176]
  [186 196 206]
  [215 225 235]]]
[[[  0  10  20]
  [  9  39  49]
  [ 39  69  78]]

 [[ 68  98 108]
  [ 98 128 137]
  [127 157 167]]

 [[157 186 196]
  [186 216 226]
  [215 245 255]]]

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颐水风华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值