问题标签 [image-manipulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
22299 浏览

iphone - 在 iPhone 上切片 UIImage

目标:取一个 UIImage,在中间裁剪一个正方形,将正方形的大小更改为 320x320 像素,将图像切成 16 个 80x80 的图像,将 16 个图像保存在一个数组中。

这是我的代码:

当原始(可变图像)的较小尺寸大于或小于 320 像素时,代码可以正常工作。当它正好是 320 时,生成的 80x80 图像几乎完全是黑色的,有些边缘有几个像素(我无法确定)来自原始图像。

我通过直接显示完整图像进行了测试:

间接地:

在这两种情况下,显示都有效。只有当我尝试切出图像的某些部分时才会出现问题。

0 投票
14 回答
138185 浏览

c# - 高质量图像缩放库

我想以与 Photoshop 一样好的质量水平在 C# 中缩放图像。有没有可用的 C# 图像处理库来做这件事?

0 投票
3 回答
3929 浏览

c# - 使用 GDI+ 将修改后的图像保存到原始文件

我正在从文件加载位图图像。当我尝试将图像保存到另一个文件时,出现以下错误“GDI+ 中发生一般错误”。我相信这是因为文件被图像对象锁定。

好的,所以尝试调用 Image.Clone 函数。这仍然会锁定文件。

唔。接下来我尝试从 FileStream 加载位图图像并将图像加载到内存中,这样 GDI+ 就不会锁定文件。这很好用,除非我需要使用 Image.GetThumbnailImage 方法生成缩略图,它会引发内存不足异常。显然我需要保持流打开以停止此异常,但如果我保持流打开,则文件保持锁定状态。

所以这种方法不好。最后,我创建了该文件的副本。所以现在我有两个版本的文件。1 我可以在我的 c# 程序中锁定和操作。这个其他原始文件保持解锁状态,我可以将修改保存到其中。这样做的好处是即使在保存更改后也可以恢复更改,因为我正在操作无法更改的文件副本。

当然有更好的方法来实现这一点,而不必拥有 2 个版本的图像文件。有任何想法吗?

0 投票
4 回答
1570 浏览

image-processing - 足迹识别的最佳语言是什么?

我有一个项目来识别动物的足迹。它类似于面部识别。
需要将足迹图像存储在数据库中,并将它们与相机捕获的图像进行比较。

什么是合适的编程语言来做到这一点?

0 投票
6 回答
23141 浏览

java - 在较大的图像中查找已知的子图像

有谁知道在较大图像中定位已知图像的算法(或搜索词/描述)?

例如

我有一个包含各种按钮和区域(目标)的单个桌面窗口的图像。我还有代码来捕获当前桌面的屏幕截图。我想要一个算法来帮助我在较大的桌面图像中找到目标图像(窗口所在的确切 x 和 y 坐标)。目标图像可能位于较大图像中的任何位置,并且可能不是 100% 完全相同(非常相似但不完全可能是操作系统显示差异的 b/c)

有谁知道这样的算法或算法类?

我发现了各种图像分割和计算机视觉算法,但它们似乎适用于区域的“模糊”分类,而不是在另一个图像中定位特定图像。

**我的目标是创建一个框架,给定一些种子目标图像,可以在桌面上找到“查看”,找到目标区域并“观察”它的变化。**

0 投票
2 回答
5129 浏览

java - 将 PNG 转换为双色 TIFF

-编辑-仅供参考..我正在将扫描的黑白文档转换为灰度或彩色。

1)第一个解决方案有效,它只是颠倒了黑白(黑色背景,白色文本)。也花了将近10分钟。
2)第二个答案中的 JAI 解决方案对我不起作用。我在这里发布之前尝试过。

有没有人免费使用其他库或付费处理图像处理?

-Original- 我正在尝试使用 Java ImageIO 将 PNG 转换为双色调 TIFF。有没有人幸运地做到这一点?我已经把它从PNG转换为TIFF。我不确定是否需要转换读入的 BufferedImage (PNG) 或在写入时在 TIFF 上进行转换。我已经搜索和搜索但似乎没有任何效果?有没有人建议在哪里看?

这是转换的代码...

我尝试将压缩更改为“CCITT T.6”类型,因为这似乎是我想要的,但我收到一个错误“T6 压缩每个样本的位数必须为 1!”任何建议将不胜感激。

0 投票
10 回答
19063 浏览

c++ - 如何对图像进行高质量缩放?

我正在编写一些代码来在 C/C++ 中缩放 32 位 RGBA 图像。我写了一些尝试,有些成功,但速度很慢,最重要的是,大小图像的质量是不可接受的。

我比较了由 OpenGL(即我的视频卡)和我的例程缩放的相同图像,它的质量相差甚远。我已经用 Google 代码搜索过所有我认为会有所启发的东西(SDL、Allegro、wxWidgets、CxImage、GD、ImageMagick 等)的源代码树,但通常它们的代码要么错综复杂,要么分散在各处,要么充满汇编程序和很少或没有评论。我还阅读了维基百科和其他地方的多篇文章,但我只是没有找到关于我需要什么的明确解释。我了解插值和采样的基本概念,但我正在努力使算法正确。我不想在一个例程中依赖外部库,并且必须转换为它们的图像格式并返回。此外,无论如何我想知道如何自己做。:)

我以前看过一个关于堆栈溢出的类似问题,但并没有真正以这种方式回答,但我希望有人可以帮助我朝着正确的方向前进。也许指向我一些文章或伪代码......任何可以帮助我学习和做的事情。

这就是我要找的东西:

  1. 没有汇编程序(我正在为多种处理器类型编写非常便携的代码)。
  2. 不依赖外部库。
  3. 我主要关心的是缩小,但以后还需要编写一个放大例程。
  4. 结果的质量和算法的清晰度是最重要的(我可以稍后对其进行优化)。

我的例程基本上采用以下形式:

谢谢!

更新:为了澄清,我需要比框重采样更先进的东西来缩小图像,这会使图像过于模糊。我怀疑我想要的是某种双三次(或其他)滤波器,它有点与双三次放大算法相反(即每个目标像素都是从所有贡献的源像素中计算出来的,并结合一个保持清晰的加权算法。

例子

这是我从 wxWidgets BoxResample 算法得到的结果与我想要的 256x256 位图缩放到 55x55 的示例。

  • www.free_image_hosting.net/uploads/1a25434e0b.png

最后:

  • www.free_image_hosting.net/uploads/eec3065e2f.png

原始 256x256 图像

0 投票
2 回答
6232 浏览

javascript - 使用 Javascript 进行图像处理?

我正在尝试编写一个greasemonkey脚本,它最好能够处理图像(特别是找到图像中最暗的像素)。有没有办法做到这一点或者我必须嵌入闪存?

0 投票
1 回答
884 浏览

cocoa-touch - 印象笔记应用“提示”图片覆盖 UITableView

Evernote 应用程序有一个提示窗格,它挂在初始窗口的 UITableView 上。当您单击提示时,会出现一个简单的动画,提示窗格会向上滑入视图。

我的问题是,从某种意义上说,提示窗格是如何实现的,您绝对必须单击突出的选项卡才能使其动画化。它左侧的任何像素确实会击中 UITableViewCell。这是 Core Graphics/Quartz 技巧还是只是一个透明图像?很难清楚地表达我想在这里问什么,但我希望有人能理解。

这是印象笔记应用程序主屏幕底部提示窗格的屏幕截图:http: //dl-client.getdropbox.com/u/57676/evernote.jpg

0 投票
1 回答
4417 浏览

c# - 缩放、旋转和裁剪图像

我希望在我的 GUI 中具有永久缩放、旋转和裁剪图像的功能(将更改保存到文件中)。WPF本身就可以吗?如果不是,是否有任何组件可以与 WPF 更集成地工作?

我还需要为 JPEG 和 TIFF 格式调整图像亮度和对比度,去除边框。