Questions tagged «image-processing»

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

2
使用DFT进行亚像素图像移位如何真正起作用?
我正在尝试为涉及生成亚像素移位图像的应用程序评估几种图像插值方法的质量。我以为我可以将使用所有这些插值变量的子像素移位的结果与一些完美偏移的图像进行比较,但可能无法获得它(那么需要什么插值?)。 我当时正在考虑在频域中使用DFT +平移,但不确定与显式内插图像(使用双线性,双三次等)相比,它的实际工作方式。我敢肯定它不可能生成完美偏移的图像,但是我无法将手指放在上面。使用DFT进行子像素移位等效于应用插值吗?如果是,采用哪一个?使用此方法获得的图像中像素值的偏差是多少?谢谢! 编辑: 经过深思熟虑后,我认为由于FFT是原始函数在谐波(正弦函数)方面的近似值(甚至更是DFT),因此相当于某种三角插值。我回想起离散数据的“傅立叶级数插值”公式,该公式是三角插值法,但不确定是否已连接。

1
重建被叶子遮挡的树枝
在树枝的部分被树叶覆盖的树的照片中,人们将如何大致重构树枝? 我可以通过脱阈,然后以几个不同角度的线段打开来提取分支的可见部分。但是我该如何(大约)填充树叶所覆盖的空间? 假设我们从下面的树图开始: 将图像加载为灰度 uu = mmreadgray('tree2.jpg') 限制较深的颜色;转换为二进制;删除200px区域以下的连接区域 vv = mmareaopen(mmbinary(mmthreshad(mmneg(uu),200)),20) 用90、180、135和45度的10px线段打开vv;将这些图像加在一起形成标记图像zz zz = mmaddm(mmaddm(mmaddm(mmopen(vv,mmseline(10,90))),mmopen(vv,mmseline(10,180))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv,mmseline(10,135))),mmopen(vv, mmseline(10,45))) 从标记图像zz重建vv中可见的肢体部分 aa = mminfrec(zz,vv) 在原始图片uu上方显示结果aa;合理地提取四肢 mmshow(uu,aa) 对于现在如何大致重建整个肢体的任何想法,我将不胜感激。(或改进上述步骤)。谢谢!

1
DCT与PCA之间的关系
我对图像和视频压缩中使用的2D 8x8 DCT具有基本的实现知识。在阅读有关主成分分析的同时,我可以看到很多相似之处,尽管PCA显然更通用。当我以前阅读过DCT时,总是将它与DFT结合使用。所以我的问题是,如何从PCA角度得出DCT?(即使挥手解释也足够了) 非常感谢

4
关于工业机器视觉系统中软件与机械/光学之间的权衡取舍,有什么参考吗?
我用一个简化的例子来解释我的问题。 我可以设计一个工业视觉系统来自动检查具有以下主要要求的物品: 一件好作品的图像必须为黑色背景,并且该作品必须为灰色。 缺陷必须在灰色区域内显示为白色区域。 这些要求大大简化了系统的软件部分:为了将某项归类为缺陷,算法仅对白色像素进行计数。 但是,为了获得这种简单的算法,我必须非常擅长设计系统的照明/光学/机械部分,并且该部分的成本可能会高于软件。 也许以前我读过这样的句子:“在机制上尽可能多,而在软件上尽可能少”。在我看来,这是在1990年代(或1980年代)的一本关于实用机器视觉的书中,但我找不到适当的引用/参考。

2
根据检测到的线计算单应性
我知道您可以使用“完美模型”和图像点之间的对应点来计算图像到相机平面的单应性。 我正在为足球场/场地做这件事,并且使用边缘检测来找到球场中的白线。 但是相机不会(总是)覆盖所有的俯仰,所以我看不到所有的角...而且我只有角是模型中100%的已知点(没有其他可分辨的点)。 因此,问题在于,除非这条线与另一条线相交并形成一个角,否则我只会知道该线的图像点,而不是模型中相应的“完美/真实世界”坐标。 我有什么方法可以使用检测到的线来计算单应性,甚至只是一组候选单应性,即使检测到的线彼此不相交并创建拐角? 示例图像,显示了俯仰,我们的视野以及可以知道相应的真实世界/模型坐标(绿色圆圈)的俯仰点,以及2条直线的示例,由于在我们的视野中,它们可能完全没有用,我不知道他们在音高对应的真实世界/模型中确切在哪一点开始或停止: 红线是我要使用的线的示例,但我不知道它们的真实坐标,并且很难估计它们,因为根据相机的姿势,对应点可能在“任何地方”。

3
提高图像分辨率
我知道有些示波器(DSA8300)会以几百个kS / s的速率重复采样以重建几GHz信号。我想知道这是否可以扩展到2D信号(照片)。我是否可以使用商用16MP相机拍摄一系列(例如4张)静态图片以最终重建32MP图像?这样做会删除每个图像中的别名吗? 如果从单个图像尝试这种操作,则由于没有引入新的信息,因此显然不起作用。如果所拍摄的所有图片都完全相同,那么我是否仍会拥有一张图像呢?那么变化是必不可少的吗?CCD / CMOS噪声足够使这种事情起作用吗? 这种技术或算法有名称吗?我应该找什么?

4
在图像中找到斑马纹图案(从照片中检测结构光条纹中心线)
我在一个项目上工作,该项目将条纹投射在主体上,并拍摄了照片。任务是找到条纹的中心线,这些中心线在数学上代表条纹平面与对象表面之间的3D交点曲线。 该照片是PNG(RGB),以前的尝试是使用灰度,然后使用差异阈值来获得黑白的“斑马纹”摄影,从中可以轻松找到每个条纹的每个像素列的中点。问题在于,通过阈值化并通过获取离散像素列的平均高度,我们会遇到一些精度损失和量化问题,这是根本不希望的。 通过查看图像,我的印象是,如果通过某种统计扫描方法直接从非阈值图像(RGB或灰度)中检测到中心线,则中心线可能会更连续(更多点)和更平滑(未量化) (无论是泛洪/迭代卷积)。 下面是一个实际的示例图像: 任何建议将不胜感激!

2
检测织物图像中的纱线数量
我是图像处理的新手,并且正在一个项目中确定织物图像中纱线的数量,即经纱和纬纱(与x轴垂直和平行的纱线)。 我试图通过分别获取经线和纬线的列数和行数之和来检测纱线,但由于图像聚焦和清晰度不高,因此似乎不起作用。同样,该方法对织物中纱线的排列非常敏感。 如果可能,请提出一种更好的算法来检测纱线。同样,是否有可能使每个捕获的图像都变得笔直。我尝试了IMROTATE,但是它会在图像中创建黑色区域,这会干扰行的总数,并且算法会失败。 在这方面的任何帮助对我来说都是非常值得的。谢谢。


2
自动对焦估计?
在2D单色图像矩阵或位图的集合上可以使用哪种类型的分析,以估计或比较它们“聚焦”的相对质量?是否存在一种有效的方法来计算诸如整体对比度,亮度稀疏度或散焦模糊产生的其他伪影之类的标量度量?


1
检测跨越多行的阿拉伯语经文
我需要构建一个《古兰经》应用程序,我想在用户触摸它时朗读这些经文。我面临的问题是某些经文可能会扩展到一行和一半的行(突出显示的红色经文)或恰好适合四分之一行(突出显示的绿色经文)。因此,将每节经文添加到textview或其他视图中似乎无效。 我想在第二张图片中检测红色的经文。我有用于经文的音频文件,因此无需将文本转换为语音

2
确定正确的位置放置标签
在下图所示的图像中,我有一个2D数据集,其中标识了四个标记为的聚类[0,1,2,3]。我正在寻找一种算法,可以针对每种形状以自然*的方式放置标签。我的第一个猜测是将它们放置在群集的“质量中心”,如下所示。对于连续的群集,这很好。0但是,对于形状像群集一样的群集,该方法将失败。如果不使用图例,将标签放置在此图像上的更好方法是什么? * 这里的自然程度在某种程度上是主观的,但是标签的重点是帮助查看者将xy平面中的某个区域与数字相关联。

2
如何使用GLCM检索纹理并使用SVM分类器进行分类?
我正在进行肝肿瘤分割和分类的项目。我分别使用“区域生长”和“ FCM”进行肝脏和肿瘤分割。然后,我将灰度共生矩阵用于纹理特征提取。我必须使用支持向量机进行分类。但是我不知道如何规范化特征向量,以便将其作为SVM的输入。谁能说出如何在Matlab中进行编程? 对于GLCM程序,我将肿瘤分割图像作为输入。我说得对吗 我认为,如果是这样,我的输出也将是正确的。 据我尝试,我的glcm编码是 I = imread('fzliver3.jpg'); GLCM = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM,'all') t1= struct2array(stats) I2 = imread('fzliver4.jpg'); GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]); stats2 = graycoprops(GLCM2,'all') t2= struct2array(stats2) I3 = imread('fzliver5.jpg'); GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]); stats3 = graycoprops(GLCM3,'all') t3= struct2array(stats3) t=[t1,t2,t3] xmin = min(t); xmax = …

2
用来区分不同(音乐?)音调的方法
我正在尝试研究并弄清楚如何最好地解决这个问题。它横跨音乐处理,图像处理和信号处理,因此有无数种查看方法。我想询问最佳方法,因为在纯sig-proc域中看似复杂的事情可能对进行图像或音乐处理的人来说是简单的(并且已经解决了)。无论如何,问题如下: 如果您原谅我对问题的看法,我们可以看到以下内容: 从上图可以看出,我有3种不同的信号“类型”。第一个是一个脉冲,其频率从到,然后重复。它具有特定的脉冲持续时间和特定的脉冲重复时间。f1f1f_1f4f4f_4 第二个仅存在于,但脉冲长度较短,脉冲重复频率较高。f1f1f_1 最后,第三个只是在的音调。f1f1f_1 问题是,我以何种方式解决此问题,以便编写可以区分信号1,信号2和信号3的分类器。也就是说,如果您向它提供信号之一,它应该能够告诉您该信号是这样的。什么最佳分类器会给我对角线混淆矩阵? 一些其他背景以及到目前为止我一直在想的是: 正如我所说的,这跨越了许多领域。我想问一想,在我坐下来与之作战之前可能已经存在哪些方法。我不想无意中重新发明轮子。以下是我从不同角度看过的一些想法。 信号处理观点: 我看过的一件事是进行倒频谱分析,然后可能使用倒频谱的Gabor带宽将信号3与其他信号2区分开,然后测量倒频谱的最高峰来区分信号3。信号2中为1。那是我当前的信号处理工作解决方案。 图像处理观点:我在这里思考,因为我实际上可以针对频谱图创建图像,也许我可以利用该领域的某些东西?我对这部分不是很熟悉,但是如何使用Hough变换进行“线”检测,然后以某种方式“计数”线(如果它们不是线和斑点,又如何呢?)然后从那里开始呢?当然,在我拍摄频谱图的任何时间点,您看到的所有脉冲都可能沿时间轴移动,那么这有关系吗?不确定... 音乐处理的观点:可以肯定的是信号处理的一个子集,但是在我看来,信号1具有一定的(也许是重复的)(音乐?)质量,音乐处理过程中的人们一直都能看到并且已经解决了。也许是区分乐器?不确定,但是这种想法确实发生在我身上。也许,从这个观点出发,是最好的方法,它占用了大部分时域并调高了这些步进率?再说一次,这不是我的领域,但是我非常怀疑这是以前见过的东西……我们可以将所有三种信号视为不同类型的乐器吗? 我还应该补充一点,我拥有大量的训练数据,因此也许使用其中一些方法可能会让我进行一些特征提取,然后我可以将其与K-Nearest Neighbor一起使用,但这只是一个想法。 无论如何,这就是我现在的立场,我们将不胜感激。 谢谢! 根据评论进行的编辑: 是的,预先知道,,,。(有些差异,但很小。例如,假设我们知道 = 400 Khz,但它可能以401.32 Khz出现。但是到距离很高,因此相比之下可能为500 Khz。)Signal-1将始终踩到这4个已知频率。Signal-2将始终具有1个频率。f1f1f_1f2f2f_2f3f3f_3f4f4f_4f1f1f_1f2f2f_2f2f2f_2 还预先知道所有三类信号的脉冲重复率和脉冲长度。(再次有一些差异,但很少)。尽管有些警告,但信号1和2的脉冲重复频率和脉冲长度始终是已知的,但它们是一个范围。幸运的是,这些范围根本不重叠。 输入是实时的连续时间序列,但是我们可以假设信号1、2和3是互斥的,因为在任何时间点仅存在一个信号。对于在任何时间点要花费多少时间块,我们也具有很大的灵活性。 数据可能是嘈杂的,是的,在我们已知的,,,不在的频段中可能存在虚假的音调等。这是完全有可能的。我们可以假设中等信噪比只是为了“开始”解决这个问题。f1f1f_1f2f2f_2f3f3f_3f4f4f_4

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.