Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 检测图像中小细节的存在_Image_Algorithm_Image Processing - Fatal编程技术网

Image 检测图像中小细节的存在

Image 检测图像中小细节的存在,image,algorithm,image-processing,Image,Algorithm,Image Processing,我想检测图像中包含大量小细节的区域,但同样需要忽略强边缘。例如,我想(大致)确定位于建筑物上的海报上的小文本区域,但我也想忽略建筑物本身的强边缘 我想我可能在寻找特定的频带,所以我脑海中浮现的方法包括:手动调整卷积内核,直到达到我需要的,使用特定的DCT系数,在方向滤波器响应上应用直方图。但也许我遗漏了更明显的东西 为了回答下面评论中的一个问题,我正在Matlab中开发 我愿意接受任何关于如何实现这一目标的建议-谢谢 这个问题本身太宽泛了,我无法给出一个无纸价值的答案。话虽如此,我可以给你一些缩

我想检测图像中包含大量小细节的区域,但同样需要忽略强边缘。例如,我想(大致)确定位于建筑物上的海报上的小文本区域,但我也想忽略建筑物本身的强边缘

我想我可能在寻找特定的频带,所以我脑海中浮现的方法包括:手动调整卷积内核,直到达到我需要的,使用特定的DCT系数,在方向滤波器响应上应用直方图。但也许我遗漏了更明显的东西

为了回答下面评论中的一个问题,我正在Matlab中开发


我愿意接受任何关于如何实现这一目标的建议-谢谢

这个问题本身太宽泛了,我无法给出一个无纸价值的答案。话虽如此,我可以给你一些缩小问题范围的建议

首先,转到并搜索你的工作围绕的关键词。在您的例子中,其中之一可能是边缘检测

查阅最新的论文(不超过5年),寻找能满足你需要的工作。如果找不到任何内容,请扩展搜索条件或尝试使用其他术语

如果您有更具体的问题,请编辑您的问题并让我知道

永远记得把大问题分成小块,然后再把它们分成更小的小块,直到你有一盘美味的、易于管理的小吃

编辑:根据我收集的信息,你对边缘检测和特征选择算法感兴趣吗?以下是一些有用的链接,可能会证明它们很有用:


此外,这是他们广泛的指南文档的一部分,希望能够证明它足够有用,使您能够深入研究。为您的问题提供具体答案的文档

这个问题本身太宽泛了,我无法给出一个无纸价值的答案。话虽如此,我可以给你一些缩小问题范围的建议

首先,转到并搜索你的工作围绕的关键词。在您的例子中,其中之一可能是边缘检测

查阅最新的论文(不超过5年),寻找能满足你需要的工作。如果找不到任何内容,请扩展搜索条件或尝试使用其他术语

如果您有更具体的问题,请编辑您的问题并让我知道

永远记得把大问题分成小块,然后再把它们分成更小的小块,直到你有一盘美味的、易于管理的小吃

编辑:根据我收集的信息,你对边缘检测和特征选择算法感兴趣吗?以下是一些有用的链接,可能会证明它们很有用:


此外,这是他们广泛的指南文档的一部分,希望能够证明它足够有用,使您能够深入研究。为您的问题提供具体答案的文档

这里有一些不科学的东西,但让人们谈论可能也不错。我从这个图像开始

并使用出色的免费
ImageMagick
将其划分为400x400像素的平铺,如下所示:

convert -crop 400x400 cinema.jpg tile%d.jpg 
现在我测量每个瓷砖的熵,并通过增加熵进行排序:

for f in tile*.jpg; do
   convert $f -print '%[entropy] %f\n' null:
done | sort -n
我得到了这个结果:

0.142574 tile0.jpg
0.316096 tile15.jpg
0.412495 tile9.jpg
0.482801 tile5.jpg
0.515268 tile4.jpg
0.534078 tile18.jpg
0.613911 tile12.jpg
0.629857 tile14.jpg
0.636475 tile11.jpg
0.689776 tile17.jpg
0.709307 tile10.jpg
0.710495 tile16.jpg
0.824499 tile6.jpg
0.826688 tile3.jpg
0.849991 tile8.jpg
0.851871 tile1.jpg
0.863232 tile13.jpg
0.917552 tile7.jpg
0.971176 tile2.jpg
因此,如果我看最后3个(即熵最大的),我得到:


这里有一些不科学的东西,但让人们谈论可能不是坏事。我从这个图像开始

并使用出色的免费
ImageMagick
将其划分为400x400像素的平铺,如下所示:

convert -crop 400x400 cinema.jpg tile%d.jpg 
现在我测量每个瓷砖的熵,并通过增加熵进行排序:

for f in tile*.jpg; do
   convert $f -print '%[entropy] %f\n' null:
done | sort -n
我得到了这个结果:

0.142574 tile0.jpg
0.316096 tile15.jpg
0.412495 tile9.jpg
0.482801 tile5.jpg
0.515268 tile4.jpg
0.534078 tile18.jpg
0.613911 tile12.jpg
0.629857 tile14.jpg
0.636475 tile11.jpg
0.689776 tile17.jpg
0.709307 tile10.jpg
0.710495 tile16.jpg
0.824499 tile6.jpg
0.826688 tile3.jpg
0.849991 tile8.jpg
0.851871 tile1.jpg
0.863232 tile13.jpg
0.917552 tile7.jpg
0.971176 tile2.jpg
因此,如果我看最后3个(即熵最大的),我得到:


您会发现最大稳定极值区域()对此很有用。您应该能够施加面积约束以过滤掉较大的MSER,然后计算MSER密度,例如Mark在其答案中通过将图像分割为平铺所做的那样。

您会发现最大稳定的极值区域()对此很有用。你应该能够施加面积限制,过滤掉大的MSER,然后计算出MSER密度,例如马克在回答中将图像分割成瓷砖所做的那样。

我不是图像处理专家,但这听起来像是“我需要五年时间和一个研究团队”问题之一。这让我很开心!您开发的平台是什么?Matlab提供了很多这方面的功能。事实上,即使你不是,在Matlab中开发,然后将函数翻译成你喜欢的语言也是最好的选择。我将进一步编辑我的答案,再加上几点,这可能会让你找到正确的方向。好的观点@sipty我更新了我的问题,是的,我在MatlabI开发。我不是图像处理专家,但这听起来像是一个“我需要五年时间和一个研究团队”的问题。这让我很开心!您开发的平台是什么?Matlab提供了很多这方面的功能。事实上,即使你不是,在Matlab中开发,然后将函数翻译成你喜欢的语言也是最好的选择。我将进一步编辑我的答案,再加上几点,这可能会让你找到正确的方向。好的观点@sipty我已经更新了我的问题,是的,我正在Matlab开发。我认为这是有史以来最通用的答案,它肯定不会回答问题。我同意它不会直接回答问题,但这似乎确实是解决一般问题的好建议。OP的问题的唯一答案是“是的”。请看最近的图像处理手册。我给出的答案指向了正确的方向,因为目前的问题确实没有其他可行的答案