首页 \ 问答 \ 在大图像中找到小的部分透明图像的坐标(find coordinates of small partially-transparent image within a large image)

在大图像中找到小的部分透明图像的坐标(find coordinates of small partially-transparent image within a large image)

我正在寻找一种以编程方式(不使用任何图形用户界面)找到大图像中的小图像坐标的方法。

我的目标是在更大的信息图像中找到小corner images的坐标。 使用这些坐标,我想确定特定的“感兴趣区域”,以便我能够在呈现图像时聚焦这些区域或从图像中剪切这些区域。

描述的corner images看起来像这些(请忽略蓝色数字,因为它们只是注释。我想使用透明的灰色PNG图形):
在此处输入图像描述
1左上角
2左下角
3右下角
4右上角

这些corner images放置在大图像中的某些位置:
在此处输入图像描述
每组corner icons定义“感兴趣区域”(如何确定多个左上角中的哪一个属于哪个区域将是另一个问题)。

我想将一个免费/开源库与命令行操作或Python接口一起使用。 似乎ImageMagick库看起来非常接近可能的解决方案。 但是如果解决这个问题,任何其他技术都可以。

使用例如ImageMagick库,我想顺序检查corner items (它们只是同一原始图像的90度旋转),并将它们与大图像“比较”。 在大图像中, corner items可能“非常接近”其他图形内容。 因此,简单的逐块身份测试可能会失败。 “透明度”应被视为“不关心”。

我可以使用什么工具和过程来获得这么小的图像的绝对x和y位置?


I am looking for a way to programmatically (without using any graphical user interface) find the coordinates of a small image within a large image.

My aim is to find the coordinates of small corner images within a larger information image. With these coordinates I want to determine specific "regions of interest" so that I would be able to focus on these regions while presenting the image or cut these regions from the image.

The described corner images could look like these (please ignore the blue numbers, as they are only comments. I'd like to use gray PNG graphics with transparency):
enter image description here
1 top left corner
2 bottom left corner
3 bottom right corner
4 top right corner

These corner images are placed at certain positions within the large image:
enter image description here
Each set of corner icons defines a "region of interest" (how to determine which of the multiple top left corners belongs to which region would be another issue, though).

I'd like to use a free/open source library together with command line operation or a Python interface. It seems that the ImageMagick library looks pretty close to a possible solution. But any other technology would be fine if it solves this problem.

With e.g. the ImageMagick library I would like to check the four corner items sequentially (they are just 90 degree rotations of the same original image) and "compare" each of them with the large image. Within the large image, it would be more than possible that the corner items reside "very near" to other graphical content. So, a simple block-wise identity testing would possibly fail. "Transparency" should be considered as "don't care".

What tool and process could I use to get the absolute x- and y-positions of such a small image within a larger one?


原文:https://stackoverflow.com/questions/41796194
更新时间:2020-05-09 10:20

相关问答

更多

如何将许多小图像拼接成一个大图像?(How to stitch many small images into one large image?)

创建一个新图像以封装所有图像。 加载时绘制图像,然后在paintComponent()中绘制它 BufferedImage im = new BufferedImage(1500,1500,BufferedImage.TYPE_INT_RGB); private void init() { Graphics g = im.getGraphics(); for(int i = 0; i < mapArray.length; i++){ for(int j = 0; ...

在WPF中为部分透明图像着色(Tint a partially transparent image in WPF)

与WinForms / GDI +不同,WPF似乎不包含在渲染图像时着色/着色的任何简单方法。 实现此目的的两个想法是,使用着色器,或在图像上覆盖彩色矩形。 我决定尝试矩形路线,发现它有效。 基本上,您需要做的就是在图像上叠加彩色矩形,并使用OpacityMask将颜色填充限制在某个区域。 OpacityMask主要用于路径,但它可以使用任何类型的画笔,包括ImageBrush 。 这意味着您可以将图像用作彩色填充的“模板”。 示例:(从我的应用程序中,用户可以“突出显示”地图的一部分,实际图像看 ...

部分透明的背景图像(Partially transparent background image)

不确定这是否是您正在寻找的,但请访问以下链接: http : //css-tricks.com/transparency-in-web-design/您可能需要查看PNG文件格式你正在使用。 Not sure if this is what you're looking for, but take a lok at this link : http://css-tricks.com/transparency-in-web-design/ You might have to take a look ...

如何:可滚动的大图像,居中的小图像,(How: scrollable large images, centered small image,)

为了将较小的图像居中在父div ,可以使用display:flex作为父div 。 然后将justify-content和align-items为居中 。 这是一个解决方法, #mydiv { overflow: auto; max-width: 500px; max-height:500px; } .mainContainer{ width:500px; height:50 ...

如何在图像中找到矩形的角坐标(How to find corner coordinates of a rectangle in an image)

一种简单的方法是: 找到所有连接的组件 计算每个组件的凸包 挑选凸壳具有最大面积的部件 简化凸包多边形 简化多边形的顶点是您要查找的点 快速而肮脏的Mathematica解决方案: (* find all connected components, calculate the convex hull for each component *) convexHulls = ComponentMeasurements[ColorNegate[Binarize[src]], {"ConvexArea", ...

背景图像精灵在SVG图像?(background image sprite in svg image? [how to show only a small cropped portion of a large image] [duplicate])

SVG元素不支持HTML background属性。 如果你想让图像在SVG中显示,那么你必须明确地将它放在那里作为另一个svg元素。 <svg ...> <image href="/path/to/large.png" ... /> <image href="the-transparent-foreground-png-or-svg"/> </svg> 但是由于第二个图像是透明的,所以它是毫无意义的并且可以被删除。 如果您只想显示large.png一部分,那么您需要掩盖或剪切它,并仔细 ...

itextsharp:获取图像的坐标(itextsharp: getting coordinates of image)

如果您在构建PDF文档时尝试获取此信息,请执行以下操作: 图像左边缘的x坐标取决于图像添加到PDF文档的方式。 如果你使用绝对位置来添加它,你会得到你的x坐标。 如果只是添加它,没有绝对位置或其他修饰符,则x坐标将等于左边距,因为这是默认值。 如果您已指定图像应居中或左对齐,则需要使用图像宽度和边距来确定图像左边缘的位置。 如果您尝试从已创建和保存的PDF文件中获取此信息,请执行以下操作: Jay是对的,iTextSharp没有办法做到这一点。 If you're trying to get th ...

在png图像中找到旋转透明矩形的4个坐标(Find the 4 coordinates of a rotated transparent rectangle in png image)

也许不是最优雅的解决方案,我确信有更好的方法,但这适用于格式良好的png图像 // Returns the coordinates of a transparent rectangle in a PNG file (top left, top right, lower left, lower right public function getTransparentRectangleCoordinates($fileUrl) { define ('TRANSPARENCY_THRESHOLD ...

javafx中的部分透明图像(Partially transparent images in javafx)

此代码应该适用于大多数情况。 imageView.addEventFilter(MouseEvent.MOUSE_CLICKED, e -> { Color color = image.getPixelReader().getColor(e.getX(),e.getY())); if(color.getAlpha() != 0) { //execute your code here } }); This code should work in mo ...

小图像与大图像(重复时)(Small vs Large image (when repeating))

我会让酒吧尽可能小。 下载比通常渲染需要更多时间。 然而,在今天的世界并不重要。 如果你想让它渲染得更快,我会使用大约100px宽度左右的东西。 无论哪种方式,它都不是现代互联网和处理器的速度。 如果可以避免图像,请使用边框。 I would make the bar as small as possible. It takes more time to download than it does to render usually. In today's world is doesn't mat ...

相关文章

更多

最新问答

更多
  • iOS中导致此内存泄漏的原因(What is causing this memory leak in iOS)
  • 你为什么更喜欢:要求:参考:全部:在clojure中使用(Why should you prefer :require :refer :all over :use in clojure)
  • 将表行解析为嵌套集合(Parsing table rows into nested collections)
  • java.io.IOException:由peer重置连接(java.io.IOException: Connection reset by peer)
  • 使用Python list-comprehension从嵌套的tuple-dictionary结构中检索数据(Retrieve data from nested tuple-dictionary structure using Python list-comprehension)
  • 查找树中两个节点之间的(保证唯一)路径(Finding the (guaranteed unique) path between two nodes in a tree)
  • 我想添加一个回到上一页的php文档的链接(I want to add a link to php document that goes back to previous page)
  • Python并行线程(Python parallel threads)
  • Kentico的Field数据类型Date也显示时间(Kentico's Field data type Date also showing time)
  • android google maponClick没有响应(android google maponClick not responsive)
  • setDisplayHomeAsUpEnabled关闭ActionBarDrawerToggle(setDisplayHomeAsUpEnabled closing ActionBarDrawerToggle)
  • 确定用户是否运行TWRP或CWM恢复(Determine if user runs TWRP or CWM recovery)
  • 当删除按钮已经执行了sql时,我如何刷新此页面(称为add_user.php)(How i can refresh this page (called add_user.php) when delete button already executed the sql too)
  • InfluxDB平均每周的一天(InfluxDB average for day of the week)
  • 对象p5.js的声音效果(Sound effect on objects p5.js)
  • 如何提高自动载入性能(How increase autoload performance)
  • Asp.net Webapi使用[FromUri]和Route有两个参数(Asp.net Webapi using [FromUri] with Route that has two parameter)
  • IE7和HTML上的显示块严格(IE7 and display block on HTML strict)
  • HTML附加异步[关闭](HTML appending Async [closed])
  • 在Windows Phone 7移动网站上平滑滚动(Smooth scrolling on windows Phone 7 mobile site)
  • JavaScript不承认PHP变量[关闭](javascript not recognizing php variables [closed])
  • 更改按钮功能时出现未捕获参考错误(Getting Uncaught Reference Error when changing the function of a button)
  • ZeroMQ无法在两个Docker容器之间进行通信(ZeroMQ failing to communicate between two Docker containers)
  • 为什么字符串索引(尽管表示整数)在数组中有效?(Why do string indices (albeit representing integers) work in arrays?)
  • 为什么要实现IDisposable来清理非托管资源?(Why should you implement IDisposable to clean up unmanaged resources only?)
  • 将文件上传到服务器,然后附加到电子邮件并发送一个php文件(Upload file to server, then attach to email and send in one php file)
  • 从PHP脚本获取数据(Getting data back from a PHP script)
  • 在ui:repeat中使用inputText来更新值的ArrayList不起作用[重复](Using inputText inside ui:repeat to update ArrayList of values is not working [duplicate])
  • Salt - virtualenv的多个需求文件(Salt - multiple requirement files to virtualenv)
  • 一个Web角色上的两个Web应用程序 - 配置问题(Two web applications on one Web Role - config issue)