Questions tagged «image-processing»

通常,图像处理是其输入为图像的任何形式的信号处理,例如照片或视频帧。

3
用傅里叶方法进行层析成像重建的代码有什么问题?
最近,我一直在研究层析重建算法。我已经有了FBP,ART,类似于SIRT / SART的迭代方案甚至使用直线线性代数的慢速工作实现(慢!)。 这个问题与这些技术无关 ; “为什么有人会那样做,这里是一些FBP代码”这样的形式的答案并不是我想要的。 我要对该程序执行的下一件操作是“ 完成设置 ”并实现所谓的“ 傅立叶重构方法 ”。我对此的理解基本上是将1D FFT应用于正弦图“曝光”,将其作为放射状的“轮辐”安排在2D傅立叶空间中(这是非常有用的事情,直接根据中心切片定理可以得出) ,从这些点插值到该2D空间中的规则网格,然后应该可以进行傅立叶逆变换以恢复原始扫描目标。 听起来很简单,但是我运气不佳,无法进行任何看起来像原始目标的重建。 下面的Python(numpy / SciPy / Matplotlib)代码是我想做的最简洁的表达式。运行时,它将显示以下内容: 图1:目标 图2:目标的正弦图 图3:FFT编辑的正弦图行 图4:第一行是从傅立叶域正弦图行内插的二维FFT空间;最下面一行是(出于比较目的)目标的直接2D FFT。这是我开始变得可疑的地方。从正弦图FFT插值的图看起来与通过直接对目标进行2D FFT绘制的图相似...但有所不同。 图5:图4的傅立叶逆变换。我希望它比实际更能被识别为目标。 有什么想法我做错了吗?不知道我对傅立叶方法重构的理解是否存在根本性缺陷,或者我的代码中仅存在一些错误。 import math import matplotlib import matplotlib.pyplot as plt import numpy as np import scipy.interpolate import scipy.fftpack import scipy.ndimage.interpolation S=256 # Size of target, …

5
如何消除图像中的眩光和亮度(图像预处理)?
我有一张图片 有什么办法可以消除亮点?请帮忙谢谢 编辑: 使用高斯运算后,再使用imagesc显示后,将获得以下输出,该输出清楚地显示了亮红色的斑点如何去除它们 红色频道: 绿色通道: 蓝色频道: 编辑2: 使用Gabor滤波器进行缺陷检测 其直方图: 如何自适应地计算其适当的阈值?

3
高斯模糊-标准偏差,半径和内核大小
我已经在GLSL中实现了高斯模糊片段着色器。我了解所有这些背后的主要概念:卷积,使用线性度分离x和y,多次通过以增加半径... 我仍然有几个问题: sigma和半径之间有什么关系? 我读过西格玛等于半径,我看不到西格玛是如何用像素表示的。还是“半径”只是sigma的名称,与像素无关? 如何选择西格玛? 考虑到我使用多次传递来增加sigma,我如何选择一个良好的sigma以在任何给定传递中获得我想要的sigma?如果所得的sigma等于sigma 的平方和的平方根,并且sigma等于radius,那么获得所需半径的简单方法是什么? 内核的合适大小是多少,它与sigma有什么关系? 我已经看到大多数实现使用5x5内核。对于质量不错的快速实现来说,这可能是一个不错的选择,但是还有其他理由选择另一个内核大小吗?sigma与内核大小有何关系?我是否应该找到最佳的sigma,以便使内核外部的系数可以忽略不计并且仅进行归一化?

1
图像上的相关性和卷积之间的区别?
您能否清楚地说明图像上的滤镜完成的相关和卷积之间的区别是什么? 我的意思是根据信号处理定义,我知道卷积描述了LTI系统的输出,也就是说,如果LTI系统由于与输入系统的卷积而产生输出,那么输出信号可以描述为LTI系统的卷积结果。输入信号和LTI系统的脉冲响应。至于相关性,它描述了信号之间的相似性。但是,卷积和相关性对图像有何影响?它们在影响方面有何不同? 谢谢

4
Canny Edge检测器的局限性是什么?
关于使用边缘检测的边缘检测算法和应用的大多数文献,都引用了Canny的边缘检测器。如此之多,以至于看起来几乎是边缘检测的“解决方案”。当然,它将在平衡噪声和保留边缘方面做得最好。 但是,出于好奇,Canny的边缘检测器是否值得关注?还是在Canny最好的应用领域? 在这种情况下,更快的实现并不是真正的问题。边缘检测器好坏的重点应该在于所生成边缘的质量和实用性。 另外,我确实不是在关注特定于实现的问题。我正在寻找算法固有的更多理论限制或特征。

5
如何比较相机拍摄的两张图片并判断是否有足够的差异来检测运动?
我想将手机用作CCTV系统来控制房屋中的房间,并在有东西移动时显示警报。 现在,我成功完成的工作是每分钟抓一张图片,并通过PHP脚本将其上传到我的服务器。现在,我想比较当前图片和1分钟前的图片,并检测是否有人进入了房间。因此,基本上,我需要比较图片上像素的差异(但还要考虑到云可能只是打个招呼并在一分钟内改变了亮度) 有谁知道如何实现这一目标或阅读一些文档吗?



3
SNR和PSNR之间的差异
我了解到,SNR是信号功率与噪声功率之比。在图像方面,原始图像如何受添加的噪波影响。在PSNR中,我们将图像中峰值的平方(对于8位图像,峰值为255)除以均方误差。SNR和PSNR用于测量重建后的图像质量。我了解到SNR或PSNR越高,重建效果越好。我不了解SNR和PSNR关于重建图像的结论有何不同。 图像的PSNR得出什么结论,而同一图像的SNR无法得出结论? PSNR的结论与SNR的结论有何不同?


2
在嘈杂的图像数据中检测圆
我有一张看起来像下面的图像: 我试图找到圆的半径(或直径)。我尝试使用圆形Hough变换(通过matlab imfindcircles(bw,[rmin rmax],'ObjectPolarity','bright')),并拟合到圆形或椭圆形(自制函数,对于噪声较小的数据效果很好,请参见下文)。 我还尝试了一些图像处理以获得更清晰的圆圈,例如,请参见下文: se = strel('disk', 2); bw = imdilate(bw, se); bw = bwareaopen(bw,100000); bw = edge(bw); 但是,当我将处理后的图像馈给这两种技术(霍夫和圆\椭圆拟合)时,它们都无法以体面的方式检测到圆。 这是我写的寻圈器的代码片段(matlab)[row col] = find(bw); 等高线= bwtraceboundary(bw,row(1),col(1)],'N',连接性,num_points); x = contour(:,2); y = contour(:,1); % solve for parameters a, b, and c in the least-squares sense by % using the backslash operator …

5
在非常基本的方面进行平滑处理的是什么
什么是平滑,我该怎么做? 我在Matlab中有一个数组,它是语音信号的幅度谱(FFT的128点的幅度)。如何使用移动平均线对此进行平滑?据我了解,我应该采用一定数量的元素的窗口大小,取平均值,这将成为新的第一个元素。然后将窗口向右移动一个元素,取平均值即成为第二个元素,依此类推。那真的是这样吗?我不确定自己,因为如果这样做,最终结果将少于128个元素。那么它是如何工作的以及如何帮助平滑数据点呢?还是有其他方法可以使数据平滑? 编辑:链接到后续问题

4
如何从图像中去除阴影?
我有这张图片 我想从图像中去除阴影。我知道许多不同的方法(例如某些形态学运算)已用于去除阴影: 我为同一张图片创建了此蒙版 我还有其他方法可以尝试使用创建的此蒙版吗? 编辑: 输入与要求尺寸相同的图像和遮罩: 编辑2:我生成了一维不变图像,但它并不完美 I = imread('shadow.jpg'); J = im2double(I); R = J(:,:,1); G = J(:,:,2); B = J(:,:,3); [len,wid] = size(R); % Generation of 2-D Log Chromaticity Image. for i = 1:len for j = 1:wid if ((R(i,j)*G(i,j)*B(i,j))~= 0) c1(i,j) = R(i,j)/((R(i,j)*G(i,j)*B(i,j))^(1/3)); c2(i,j) = G(i,j)/((R(i,j)*G(i,j)*B(i,j))^(1/3)); c3(i,j) …

2
对于这种特定的移位/比例不变模板匹配,哪种图像处理技术是理想的?
我最初在这里讨论的问题已经演变,并且在我研究更多并获得新信息后可能会变得更简单。 最重要的是,我希望能够使用计算机视觉/图像处理技术来检测此处显示的这种模式。如您所见,理想的模式由四个“ ping”组成。对象识别应该是: 移位不变 在水平方向上,图像将是周期性的。(即,向右推动,在左侧出现,反之亦然)。 (幸运的是)从纵向看,它不是周期性的。(即,推到顶部或底部,它将停止)。 比例尺不变(如您所见,ping的“厚度”可能有所不同。) 我可以继续进行下去,但是我已经附上了涵盖我意思的图像,请参见以下内容: 当然,从这个家庭可以看出,它们也可以处于不同的“规模”: 最后,这是一些我可能实际收到的“现实”场景,可能会有噪音,当您移到底部时,行可能会“褪色”,当然,图像上会有很多虚假的线条,伪像等 当然,作为最后的结局,这种“极端”场景很有可能出现: 因此,我想再次寻求一些指导,以指导我在这里应该使用哪些计算机机器视觉技术,以便获得最佳效果。 检测出图案的出现情况,如您所见,在这里我需要进行平移和缩放不变,并且在实际情况下也能获得不错的结果。(好消息是,我不需要它是旋转不变的)。到目前为止,我唯一能想到的想法就是二维关联。 我要补充一点,实际上,我没有彩色图像-我只会得到一个数字的数字,所以我想我们所说的是“灰度”。 提前致谢! PS对于它的价值,我可能会使用开放式CV。 编辑#1: 根据评论,我在此处添加了您要求的详细信息: 对于定义数据的特征,我们可以假设以下内容: 每个ping的水平长度可以变化,但是我知道它的上限和下限。在此范围内的任何事物为是,在外部事物为否。(例如,我知道ping的长度可以在1到3秒之间的任何位置)。 所有ping必须为“可见”(是),但是,最后一行可能会丢失,并且仍然要说“是”。否则否。 每个ping的垂直长度(“厚度”)可以变化,但同样,也要知道上下边界。(类似于您在这些图像中看到的内容)。在该范围内的任何事情都为是。外面没有东西。 如果是,则每个ping之间的高度应始终相同。如果不是,则为否。(例如,您可以看到所有ping相对于彼此的高度如何,在垂直轴上约为110)。因此110 +/- 5可以为是,其他任何条件都必须为否。 我想就是这样-但是,请让我知道我还能添加什么...(此外,此处显示的所有内容都应注册为YES,顺便说一句)。

3
轮廓匹配-查找轮廓位移
我在具有相同对象的两幅图像上找到了轮廓,我想找到该对象的位移和旋转。我尝试过使用该轮廓的旋转边界框,然后使用其角度和中心点,但是边界框的旋转不能正确显示轮廓旋转,因为角度a + 0,a + 90,a + 180等相同。度。还有其他寻找轮廓旋转和位移的好方法吗?也许有些使用凸包,凸缺陷?我已经在学习OpenCv中阅读过有关匹配轮廓的信息,但并没有帮助。有人可以举例吗? 例子: 我想检测例如粉红色的正方形,在第二种情况下使用笔。其他示例可能是带有一些孔,星星等的正方形。正如我所说,我想做一些全盘的事情。感谢任何建议,因为我想测试尽可能多的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.