图像处理中Normalization的应用

背景:我想把肺部CT图像数据和对应的掩码标签重合显示,也就是下图这种效果,通过对应元素相乘实现,但是两张图像的数据格式和分布都不相同,因此用到了normalization。

首先查看数据,两张图片的尺寸都是512*512,将numpy数据打印出来:

print(min(img_org), max(img_org))
print(img_org)
print(mask_org)
-2048 3038
[[-2048 -2048 -2048 ... -2048 -2048 -2048][-2048 -2048 -2048 ... -2048 -2048 -2048][-2048 -2048 -2048 ... -2048 -2048 -2048]...[-2048 -2048 -2048 ... -2048 -2048 -2048][-2048 -2048 -2048 ... -2048 -2048 -2048][-2048 -2048 -2048 ... -2048 -2048 -2048]]
[[False False False ... False False False][False False False ... False False False][False False False ... False False False]...[False False False ... False False False][False False False ... False False False][False False False ... False False False]]

可以看到img_org的像素区间是[-2048,3038],mask的数据是布尔值。需要对img_org进行normalization到[0,1],把布尔值也转换为0和1。

normalization

维基百科:在图像处理中,normalization是一个改变像素强度值范围的过程。例如,一份报纸将努力使一期中的所有图像共享一个相似的灰度范围。

linear normalization:

将newMin=0,newMax=1带入可以得到:

image = (img_org - np.min(img_org)) / (np.max(img_org) - np.min(img_org))

对于mask图像:

 mask = mask_org.astype(int)

(本来想用mask[mask=False]=0)不知道为什么不行)

这样两张图像的像素值都在[0,1]区间内了,相乘就可以得到合成图:

img_overlap = image * maskfig,ax = plt.subplots(1,3,figsize=[8,8])
ax[0].imshow(image[310:410,250:350],cmap='gray')
ax[1].imshow(mk[310:410,250:350],cmap='gray')
ax[2].imshow(img_overlap[310:410,250:350],cmap='gray')
for x in ax.ravel():
x.axis("off")
plt.show()

图像处理中Normalization的应用相关推荐

  1. 图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现)

    图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现) 本文实验为自己原创,转载请注明出处. 本人为研究生,最近的研究方向是物体识别.所以就将常用的几种特 ...

  2. 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤

    一.数据格式 1.1 dicomDICOM是医学图像中的标准文件,这些文件包含了诸多元数据信息(比如像素尺寸),此处以kaggle Data Science Bowl数据集为例:data-scienc ...

  3. 图像处理中,在图片上写字,包括中文与英文!

    在数字图像处理中,有的时候便于标注图片信息,需要我们在图片上做一些文字标注.opencv提供了一套比较通用简单的写文字的函数接口: void cv::putText(cv::Mat& img, ...

  4. OpenCV中的图像处理中

    图像金字塔 一般情况下,我们要处理是一副具有固定分辨率的图像.但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理.比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸 ...

  5. Python:图像处理中img[:,:,::-1]是什么意思?

    我们经常在图像预处理中会看到类似如下代码 img = cv2.imread("img_path") img = img[:,:,::-1].transpose(2, 0, 1) 上 ...

  6. 图像处理中,关于对比度,亮度,饱和度这些指标的概念

    (1)对比度:一副图像中,各种不同颜色最亮处和最暗处之间的差别,差别越大对比度越高,这个跟分辨率没有多少关系,只跟最暗和最亮有关系,对比度越高一个图像给人的感觉就越刺眼,更加鲜亮,突出:越低则给人感觉 ...

  7. 图像处理中,对图片数据集规格大小的处理办法。

    图像处理中的数据并不是按照指定的规格大小处理时,那么需要调整图片的大小,重新设定规格,从而在后续的网络模型输入时,保证输入到模型中的图片大小一致. 指定需要加工的图像的路径为:"C:\Ani ...

  8. c语言环境下opencv图像K均值聚类,图像处理中kmeans聚类算法C++实现

    对于比 较大的类别,如遥感影像中以像素数目表示的较大 的类别,式(1)可以近似表示为 仃222 n2丁 在遥感分类应用中,一般采用试探性的方法确定 选择训练样本数量,选取规则是每个类别需要的样本 数量 ...

  9. 图像处理中ct图的通道是多少_新一代安检CT机,智能安防领域又一明星产品

    全面复工复产后,中国航天科工三院239厂博士孙翠丽每天都在加班加点测试,甚至周末都要忙到晚上九十点.办公楼北楼三层办公室.安检设备实验室晚上灯火通明成为一道特殊的风景. 在去年底完成样机研发后,孙翠丽 ...

最新文章

  1. OFRecord 图片文件制数据集
  2. 模拟银行取钱 (多线程操作的好处)
  3. c语言 1 2是什么类型,C语言2-C数据类型(1).docx
  4. 通过ngrok在内网捕获meterpreter反弹
  5. 二分法变种小结(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)
  6. 十三、JSP9大隐视对象中四个作用域的大小与作用范围
  7. 树莓派能做什么_使用树莓派做两轮自平衡车(一)
  8. sql 时态表的意义_SQL Server 2016中的时态表的概念和基础
  9. 【06年博文搬家】一个修改时间的批处理程序
  10. c++——block_type_is_valid怎么解决
  11. c语言实训项目,C语言项目实训教程
  12. 数电 3 逻辑门电路
  13. vue实现画出页面二维码的3种办法
  14. ehcache 缓存丢失_解决Ehcache缓存警告问题
  15. C++11 packaged_task
  16. 我在职场上的所表达出来的个性
  17. Your account has been flagged. Because of that, your profile is hidden from the public. If you belie
  18. 萬丈雄心Soaring Ambitions
  19. PotPlayer 高逼格无边框的本地播放器
  20. 【MTK】 关于电信使用VoLTE异常

热门文章

  1. jquery mobiscroll
  2. video、webgl canvas推拉流及多媒体流协议
  3. 【01】一起学ASP之《ASP.NET MVC企业级实战》
  4. chrome控制台console.log无法时实打印引用类型值的bug
  5. css 边框环绕动态效果
  6. mysql优化 个人笔记 (mysql 进阶索引 ) 非礼勿扰 -m15
  7. Purchasing progress
  8. 通过用户名密码认证保障 MQTT 接入安全
  9. 高斯噪音 matlab,如何给图像添加高斯噪声(MATLAB)
  10. 2021-9-7 破防了!!!崩溃瞬间,欲哭无泪