标签: imaging

有没有办法使用GPU调整图像大小?

有没有办法使用可通过.NET应用程序使用的GPU(图形卡)来调整图像大小?

我正在寻找一种非常高效的方法来调整图像大小,并且听说GPU可以比CPU(GDI +使用C#)更快地完成它.是否有已知的实现或示例代码使用GPU来调整我可以在.NET中使用的图像?

.net c# gpu imaging

4
推荐指数
1
解决办法
3899
查看次数

打印位图文件

我编写代码捕获屏幕截图并将其保存到WPF中的位图文件.

现在我想将Bitmap发送到缩放到打印机Pagesize的打印机.

我怎么能在WPF和C#中做到这一点.

如果您能提供一些代码或一点代码,我将是最棒的.

问候塞巴斯蒂安

c# printing wpf imaging c#-4.0

4
推荐指数
1
解决办法
5251
查看次数

Python (PIL):使透明图像变亮并粘贴到另一个图像

我有两个相同大小的 png 图像(A 和 B),第二个(B)是部分透明的。

如果我使用代码将图像 B 粘贴到图像 A 中

base.paste(overlay, mask=overlay)
Run Code Online (Sandbox Code Playgroud)

我得到了它们的近乎完美的组合。

但我想在将图像 B 粘贴到图像 A 之前使其变亮。我尝试使用像 Image.new("L", size, 80) 这样的蒙版,我可以用它使图像 (B) 变亮,但它也会使图像变暗( A) 并且不得修改。

在命令行上,我可以像这样使用 ImageMagick 做我想做的事:

composite -dissolve 40 overlay.png base.png result.png
Run Code Online (Sandbox Code Playgroud)

这正是我所需要的,但是我如何用 python 做到这一点。

python transparency imaging python-imaging-library

3
推荐指数
1
解决办法
2949
查看次数

jpeg无损转换 - 内存消耗?

我刚刚从http://jpegclub.org/jpegtran/下载了最新的win32 jpegtran.exe并观察了以下内容:

我准备了一个24 BPP jpeg测试图像,14500 x 10000像素.

  • 文件系统中的压缩大小约为7.5 MB.
  • 解压缩到内存(使用某些图像查看器)膨胀到大约450 MB.

在无损旋转期间监视jpegtran.exe命令行工具的内存消耗(180)我可以看到消耗高达900 MB内存的进程!

我会假设这样的jpeg无损转换不需要将图像文件解码到内存中,而只是对编码文件本身执行一些数学转换 - 保持内存占用非常低.

那以下哪项是真的?

  • 这个特定工具实现中的一些错误
  • 我错过了一些配置开关
  • 我的一些误解(即jpeg无损转换还需要将图像解码到内存中?)
  • "数学运算"比"将图像解码为内存"消耗的内存更多

编辑:

根据JasonD的回答,原因似乎是后者.所以我会延伸我的问题:

是否有任何实现可以在小块中执行这些操作(以避免高内存使用)?还是总是需要在整体上完成而且没有办法绕过它?

PS:
我不打算实现自己的编解码器/算法.相反,我问是否有任何实现符合我的要求.或者至少在理论上是否存在.

memory jpeg imaging codec libjpeg-turbo

3
推荐指数
1
解决办法
472
查看次数

C++中如何将内存中加载的图像文件转换为ID2D1Bitmap

我正在尝试将刚刚从压缩文件中提取到内存中的图像文件(png,但可以是任何内容)转换为 ID2D1Bitmap 以使用 Direct 2D 进行绘制。我试图寻找一些文档,但我只能找到接收“const char* path”或询问我图像的宽度和高度的方法,而我事先无法知道。在谷歌上搜索它让我无处可去。

该文件是内存中的原始文件,我想避免将图像提取到硬盘中并放入临时文件中,只是为了从那里读取数据。

有任何想法吗?

c++ windows imaging direct2d

3
推荐指数
1
解决办法
1774
查看次数

将图像调整为给定边界区域的最简单方法是什么?

我想创建一个函数,例如:

def generateThumbnail(self, width, height):
     """
     Generates thumbnails for an image
     """
     im = Image.open(self._file)
     im.thumbnail((width, height), Image.ANTIALIAS)
     im.save(self._path + str(width) + 'x' + 
             str(height) + '-' + self._filename, "JPEG")
Run Code Online (Sandbox Code Playgroud)

可以给定文件和调整大小的位置。

当前函数的效果很好,只是在必要时不会裁剪。

如果给出的是矩形图像,并且需要调整正方形大小(宽度=高度),则必须进行一些中心加权的裁剪。

python imaging image-resizing python-imaging-library

2
推荐指数
1
解决办法
1838
查看次数

Image.FromStream:参数无效

我试图从字节数组创建一个图像.字节数组由指纹扫描器创建(参见CaptureFrame方法).fwidth为256,fheight为255.

当我运行下面的代码时,我明白了

System.ArgumentException:参数无效.

Dim fWidth As Short
Dim fHeight As Short

DFRProxy.DFRProxy.GetImageDimensions(fWidth, fHeight)

Dim imgBufLength As Integer = CInt(fWidth) * fHeight

Dim finger(imgBufLength) As Byte

Dim startCap As Short = DFRProxy.DFRProxy.StartCapture(0)

Dim capFrame As Short = DFRProxy.DFRProxy.CaptureFrame(0, finger, 0)


Using ms As New IO.MemoryStream(finger)
    thisImage = Image.FromStream(ms)
End Using
Run Code Online (Sandbox Code Playgroud)

错误发生在行

thisImage = Image.FromStream(ms)
Run Code Online (Sandbox Code Playgroud)

字节数组有65280个元素.我已经回顾了几个与此类似的StackOverflow帖子,但没有任何效果.我已经尝试将FromStream方法的useEmbeddedColorManagementvalidateImageData参数设置为False和True,但这并没有解决问题.

您对如何纠正有任何建议ArgumentException吗?

.net imaging

2
推荐指数
2
解决办法
2万
查看次数

Windows Imaging Component的版本

如何查看Windows计算机上安装的Windows映像组件版本?我怀疑Azure中使用的Windows 2008 Server与我在Windows 7开发机器上的版本不同.我只想验证我需要最新的TIFF编解码器.

tiff imaging wic azure libtiff.net

2
推荐指数
1
解决办法
991
查看次数

当我使用dcmtk时,为什么要从2 ^ 15中减去我的dicom图像的像素值?

我正在使用dcmtk来读取dicom图像,我对新样本有以下属性:

(0028,0004) Photometric Interpretation: MONOCHROME2
(0028,0010) Rows: 512
(0028,0011) Columns: 512
(0028,0030) Pixel Spacing: 0.4688\0.4688
(0028,0100) Bits Allocated: 16
(0028,0101) Bits Stored: 16
(0028,0102) High Bit: 15
(0028,0103) Pixel Representation: 1
(0028,0106) Smallest Image Pixel Value: 0
(0028,0107) Largest Image Pixel Value: 2732
(0028,1050) Window Center: 1366
(0028,1051) Window Width: 2732
Run Code Online (Sandbox Code Playgroud)

我使用getOutputData(16)来读取int16_t数据.令我感到惊讶的是,因为接近-1*(2 ^ 16)的值是负值,当我将值减去2 ^ 15时,一切似乎都可以,我可以看到图像!:-(

现在我有两个问题:

  1. 为什么我要减去2 ^ 15的值,它会好吗?图像上没有可用的填充值!
  2. getOutputData的文档中,它讲的是渲染的像素数据总是无符号的..当我的图像数据被签名时,这意味着什么,因为(0028,0103)属性对我说了什么?如果这种方法不正确,那么我可以通过dcmtk获得真实数据吗?

c++ imaging dicom

2
推荐指数
1
解决办法
4245
查看次数

UWP透明png颜色叠加

我的UWP c#项目中有一个图像,它是带有白色前景的透明png。我现在想将白色从此png图像更改为另一种颜色(如蓝色)。

示例(请注意,彩色图像没有透明的背景。这是由于我使用的不好的图像处理软件引起的,并且演示了白色的变化。最终的背景应该是透明的)。

泡泡1 泡泡2

我记得,这是可以统一实现的,现在我想现在在uwp-app中做到这一点。我曾考虑过使用Lumia ImagingSDKComposition API,但不知道热衷于使用它们。

c# imaging win-universal-app

2
推荐指数
1
解决办法
1998
查看次数