图像处理
文章平均质量分 70
xiaoxifei
这个作者很懒,什么都没留下…
展开
-
图像去除栅格,条纹伪影的办法(附python代码)
医学图像中,有些时候由于使用栅格作为准束用的手段,这会导致栅格的信息叠加在图像中,形成所谓的栅格伪影,比如DR图像中的栅格伪影,如下所示:比如像这张图像中的条纹,这就是栅格伪影。栅格伪影对于正常的图像检测是一种干扰,会影响到对图像细微结构的判断,会影响到图像整体展示效果,因而需要去除。去除栅格伪影是一件简单的事情,因为从成像叠加的原理上来讲,栅格伪影是由准束用经过精确切割的滤线栅所造成...原创 2020-01-09 09:40:30 · 10718 阅读 · 5 评论 -
从单据图片中提取感兴趣区域(附代码)
有一种任务是从单据或者是书籍的图片中找到相应的感兴趣区域,并将其提取出来以作后续的使用;示例如下所述:比如上述红圈所描述的区域,提取出人名等有用信息。解决这种问题的算法可以按照下面的过程进行:1. 图像二值化2. 简单去噪声干扰3. 找到闭合区域,并用闭合区域的面积进行过滤选取另附代码如下:import cv2# 图像预处理image = cv2.imrea...原创 2019-11-28 10:53:13 · 891 阅读 · 0 评论 -
图像中检测小点算法思路(另附代码)
如何从图像中检测小数点,这是一个比较简单典型的问题。比如说像下面这样的一张图,检测出小数点的位置。这里的思路简单来说可以按照下面的三个步骤:1. 如果是RGB彩色图,可以转变为灰度图,然后使用阈值方法将其二值化(可以采用OTSU等自适应的阈值方法)2. 采用简单降噪的方法把一些小的噪声点去除(这里方法很多样,一般可以采用高斯低通或者形态学方法)3. 找到闭合轮廓线,使用轮廓线围...原创 2019-11-28 10:36:46 · 1215 阅读 · 0 评论 -
Python time 模块time 函数的时间单位
Python 中time 模块下的time 常用于计算函数运行的时间import time starttime = time.time()xxxendtime = time.time()print('xxx {:.5f} s'.format(endtime-starttime))这里的时间单位是秒(s), 可以参见官方文档对此的描述(https://docs.python.o...原创 2019-11-22 15:35:18 · 28784 阅读 · 0 评论 -
加权平均融合消除图像拼接的拼缝(Python 代码)
这里提供一种采用加权平均融合消除图像拼缝的算法,供大家使用。如下图所示,如果两张图像直接进行拼接,就会在拼接位置处产生一条拼接缝,拼接缝的产生来源于两张图像光场有差别所导致的两者虽然是连续的结构,但是在两张图中的具体数字存在一定的差异。对于具有重叠部分的两张图像,消除这种拼缝的方法主要是基于特征点匹配所涉及;但是加权平均融合方法是最为简单有效的办法,这里将此算法的python代码给出。...原创 2019-11-13 11:39:46 · 18599 阅读 · 47 评论 -
Python 有重叠的切分图像 代码(overlap split image)
在深度神经网络训练过程中,常常需要将图像有重叠的切割后送入网络。我现在把这段简单的代码放出来供大家参考。import numpy as npimport cv2def cutimg(img,num,overlap_factor): '''img 是图像矩阵,num是切过后子图数目,因为统一为正方形切图,因此这里的num开方后需要为整数, overlap_f...原创 2019-10-25 10:13:57 · 7509 阅读 · 12 评论 -
Python 如何替换Dicom医学图像内容 附代码
在医学图像处理中的常见图像往往是Dicom格式保存,但是某些公开数据集上的数据直接就是.jpg或者png格式的保存,为了统一图像的输入模块,需要固定输入图像是dicom格式,这时候就涉及到使用png等格式的图像对已有的,非加密的dicom格式图像的图像矩阵内容做替换了。1. Python下对dicom图像进行解析操作需要安装Pydicom模块2. 使用Pydicom模块读取dicom数据...原创 2019-06-27 10:46:15 · 2972 阅读 · 16 评论 -
一种数据增广方案(Data Augmentation)MixMatch算法 另附代码分析
MixMatch 算法来源于 MixMatch: A Holistic Approach to Semi-Supervised Learning 这篇文章,客观来说这篇文章并不能严格的算作是数据增广,应该是一种半监督的训练方法,即使用少量数据训练模型使模型达到举一反三的目的。但是我认为这仍然可以归为数据增广的范畴,因为数据增广的目的就是防止模型训练过拟合,使之能在更大的数据集上也有好的表现,只不过...原创 2019-05-22 19:55:24 · 5884 阅读 · 14 评论 -
一种图像增广(Image Augmentation)方式 Mix Up 算法 附有代码解析
这是对facebook研究团队的一篇文章 Mixup: Beyond Empirical Risk Minimization 的解读这篇文章相对于之前提到的Sample pariring来说就不那么神奇了,因为毕竟文章作者在里面有一些相关理论的推导。文章开头通篇讲的是ERM也就是经验风险最小化原则是整个机器学习遵循的原则,作者正是基于此思想才提出了MixUp的方法。在一般的机器学习任务中,比如...原创 2019-05-21 23:31:45 · 9673 阅读 · 10 评论 -
一种图像增广(Image Augmentation)方式 Sample pairing image augmentation
在深度学习领域中常常存在着图像数量不够,或者图像种类不丰富等情况,这一点在医学图像处理中尤其常见,根据我个人经验,使用良好的图像增广(Augmentation)往往能达到事半功倍,甚至是起到决定性的效果。另外,随着半监督、无监督等算法的新起,对图像增广,以及图像relabel的各种算法也开始出现,有必要在这里讨论下一些奇怪但有效的图像增广方法。Sample pairing 增广方法来自于奇...原创 2019-05-21 16:32:17 · 3263 阅读 · 0 评论 -
Opencv(Python)绘制轮廓函数
opencv有一个绘制轮廓的函数drawContours,很久没用了,现在把使用方法记录下来mask = cv2.imread(path,cv2.IMREAD_UNCHANGED) ''' use threshold, second param is th and the third is number put in when pixel intensity higher t...原创 2019-03-30 17:46:29 · 3143 阅读 · 0 评论 -
医学图像自适应计算图像窗宽窗位技巧
在dicom图像中,对于人体器官以及部位的观察通常是有固定的窗宽窗位的,但是有时候经过前面算法的一些处理后结果图像往往不能够套用现有的窗宽窗位,这里提供一种简单的自适应调整窗宽窗位的算法思路。一、为什么要设置窗宽窗位我并不是专门学医学出身,因此并不能给出医学上的解释,但是从图像的角度来说所谓的窗宽窗位就是找到一个合理的灰度值区间段,在这个区间段中最大程度保留了所关注的内容或者是整张图片的主...原创 2018-10-27 17:55:09 · 11695 阅读 · 12 评论 -
医学DR图像是否需要反色的自适应判断
有些时候碰到的Dicom数据中的tag值是标错的,本来需要进行Inverse的图像,但是在Tag的相应字段并没有标出,导致dicom中的图像内容在进行后续处理时没有进行反色而导致后续算法计算错误。比如需要反色的下图:这时候就需要基于图像本身的性质来建立自适应的判断为最终反色与否再把一道关。根据图像本身的性质进行反色基于一下一点假设: DR中的人体成分占整张图像的绝大多数这个假设...原创 2018-11-13 15:21:30 · 1169 阅读 · 0 评论 -
Dicom图像去tag标签 版本1(完整代码)
有时候拿到的Dicom图像是设备商打上tag标签的,这种标签的灰度值明显高于或者低于人体组织,在后续的算法中如果需要对图像进行归一化或者规范化处理,如果不能去掉这个标签,因为其灰度值的差异会显著影响归一化的结果从而导致最终的结果异常(这一点本人在深度学习模型上测试过)。标签如下图所示:这个R就是典型的标签去除标签的目的,不仅仅在于将这个值改为一个别的什么值,还需要确保这个区域的更改不能引起...原创 2018-11-26 17:41:20 · 1662 阅读 · 1 评论 -
图像质量评估指标(1) 评估的意义
图像质量评估,IQA image quality assessment图像质量评估的意义图像质量评估的意义图像质量评估在数字图像科学中具有十分重要的作用,是整个数字图像科学的基石。图像质量评估体系建立往往是一个跨学科的问题,不仅仅设计到从自然世界到数字图像的物理成像,还涉及人类心理与生理上对于信号的感知,因此设计优良的图像质量评估指标不但从特征工程来看是一个重大挑战并且由于涉及很多别的学科的...原创 2018-12-10 17:03:24 · 2938 阅读 · 0 评论 -
图像质量评估指标(2) 结构相似度SSIM
传统全参考图像质量衡量标准 结构相似度结构相似度SSIM 是目前最为成功、使用范围最广泛的评价标准,在图像科学的很多领域都是必备的评价指标,如果对于场景的把握不是非常熟悉使用ssim是一个推荐选项ssim的设计灵感来源于心理学上的韦伯定理,韦伯定理描述的是人体对于感知信号的敏感程度,简而言之就是人体对于信号的变化绝对值并不敏感而对于信号的相对变化值十分敏感,用数学公式表达如下:C=ΔIIC...原创 2018-12-10 17:41:35 · 4309 阅读 · 0 评论 -
图像质量评估指标(3) 特征相似度FSIM
传统全参考图像质量衡量标准FSIM(feature similarity)ssim一经提出引来了很多人的研究,并在其上进行一系列的变种,其中一种比较成功的变种是FSIM,该算法认为一张图片中的所有像素并非具有相同的重要性,比如物体边缘的像素点对于界定物体的结构肯定比其他背景区域的像素点更为重要;另外一种重要的评价指标VIF尽管在不同的子带上具有不同的权重,但是在具体的某一子带上参与计算的像素点均...原创 2018-12-11 08:54:53 · 22874 阅读 · 1 评论 -
Python Opencv 任意形状目标检测,并绘制框图
opencv 进行任意形状目标识别工作中有一次需要在简单的图上进行目标识别,目标的形状不固定,并且存在一定程度上的噪声影响,但是噪声影响不确定。这是一个简单的事情,因为图像并不复杂,现在将代码公布如下:import cv2def otsu_seg(img): ret_th, bin_img = cv2.threshold(img, 0, 255, cv2.THRESH_BIN...原创 2018-12-18 14:13:55 · 9449 阅读 · 7 评论 -
图像质量评估指标(5) 梯度幅相似性偏差 GMSD
梯度幅相似性偏差 GMSD(以下使用GMSD作为简称)的提出主要是受到图像梯度场对于图像退化比较敏感这一事实的启发提出的。GMSD出现比较晚(2013年),在此之前有很多比较流行的评估指标比如VIF和FSIM等等,但是在当时条件下这些算法的计算耗时相对来讲比较长,因此GMSD的设计主要围绕着下面两个指标进行:1. 提供可信的评价能力2. 使用尽可能小的计算时间开销用论文作者的话说就是:...原创 2019-03-06 11:49:14 · 9315 阅读 · 1 评论 -
使用Python-OpenCV消除图像中孤立的小区域
之前一直使用Skimage中的形态学处理来进行孤立小区域的去除,代码如下img = morphology.remove_small_objects(img, size)img = morphology.remove_small_holes(img, size)后面需要将相应算法翻译到C++环境中,而Skimage没有对应的C++版本,为了确保python算法和C++算法结果的一致性,需...原创 2018-09-26 15:54:09 · 35715 阅读 · 15 评论