标签: image-conversion

使用粗糙灰度算法的问题?

所以我设计了编辑照片的几个方案中python使用PIL,其中之一是将图像转换为灰度图像(我避免因使用任何功能PIL).

我已经采用的算法是简单的:对于每个像素(色彩深度为24),我已经计算出的平均R,GB值,并设置RGB值到该平均.

我的程序生成的灰度图像似乎很准确,但我想知道我是否使用了正确的算法,并且我遇到了一个问题的答案,似乎"正确"的算法是计算的0.299 R + 0.587 G + 0.114 B.

我决定将我的程序与这个算法进行比较.我使用我的程序生成了一个灰度图像,另一个(使用相同的输入)来自一个网站(谷歌的最高结果)'image to grayscale'.

在我的肉眼看来,它们似乎完全相同,如果有任何变化,我看不到它.但是,我决定使用这个网站(谷歌的最佳结果'compare two images online')来比较我的灰度图像.事实证明,在像素的深处,它们有轻微的变化,但没有一个人乍一看是可感知的(差异可以被发现,但通常只有当图像相互叠加或在几毫秒之间切换时) .

我的问题(第一个是主要问题):

  1. 使用我的"粗糙"灰度算法有什么缺点吗?
  2. 有没有人有任何输入图像,我的灰度算法会产生一个明显不同的图像与"正确"的图像?
  3. 是否有任何颜色/ RBG组合我的算法不能正常工作?

我的关键代码(如果需要):

def greyScale(pixelTuple):
    return tuple([round(sum(pixelTuple) / 3)] * 3)
Run Code Online (Sandbox Code Playgroud)

'正确'的算法(似乎重量很重):

def greyScale(pixelTuple):
    return tuple([round(0.299 * pixelTuple[0] + 0.587 * pixelTuple[1] + 0.114 * pixelTuple[2])] * 3)
Run Code Online (Sandbox Code Playgroud)

我的输入图片: 我的输入图片

我的算法产生的灰度图像: 我的算法产生的灰度图像

"正确"的灰度图像:

当在线比较灰度图像时(突出显示红色是差异,使用10%的模糊): 当在线比较灰度图像时(突出显示红色是差异,使用10%的模糊)

尽管上面突出显示了像素的变化,但上面的灰度图像看起来几乎完全相同(至少对我而言).

另外,关于我的第一个问题,如果有人感兴趣, …

python algorithm image-comparison image-conversion python-imaging-library

60
推荐指数
6
解决办法
3259
查看次数

使用非黑色背景颜色将透明PNG转换为JPG

我在.Net中使用System.Drawing.Image进行从png到jpeg的简单转换.我基本上只使用这两行代码:

Image img = Image.FromFile(filename);
img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了png文件由于alpha通道包含透明度.在这种情况下,转换的jpeg具有黑色背景.有没有办法让背景变白?

.net c# alpha-transparency image-conversion

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

Imagemagick将PDF转换为JPEG:FailedToExecuteCommand""gswin32c.exe"/ PDFDelegateFailed

我有PDF需要转换为图像.我已经安装了Imagemagick.我有一个名为a.pdf的PDF,我可以在文件夹C:\ Convert \中打开(它没有损坏)

从命令行我正在尝试

C:\Convert>convert a.pdf a.jpg
Run Code Online (Sandbox Code Playgroud)

我收到了错误.

convert.exe: FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -
dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEV
ICE=pamcmyk32" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -dUseCIEColor
"-sOutputFile=C:/Users/MNALDO~1.COR/AppData/Local/Temp/magick-3704HYGOqqIK5rhI%d
" "-fC:/Users//MNALDO~1.COR/AppData/Local/Temp/magick-3704vK6aHo7Ju9WO" "-fC:/Use
rs//MNALDO~1.COR/AppData/Local/Temp/magick-3704GQSF9kK8WAw6"' (The system cannot
find the file specified.
) @ error/delegate.c/ExternalDelegateCommand/480.
convert.exe: PDFDelegateFailed `The system cannot find the file specified.
' @ error/pdf.c/ReadPDFImage/797.
convert.exe: no images defined `a.jpg' @ error/convert.c/ConvertImageCommand/323
0.
Run Code Online (Sandbox Code Playgroud)

imagemagick image-conversion

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

用光栅图像替换PDF中的矢量图像

是否有任何简单(可编写脚本)的方法将带有矢量图像的PDF转换为带有光栅图像的PDF?换句话说,我想用完全相同(非光栅化)的文本生成PDF,但每个矢量图像都用光栅化版本替换.

我偶尔会在我的Kindle上阅读有关技术文章的PDF文件,并且发现直接阅读PDF文件令人沮丧.值得庆幸的是,亚马逊将PDF 自动转换为Kindle格式,可以很好地回收我尝试过的大多数PDF文本部分.然而,虽然光栅图像似乎使转换过程变得很好,但矢量图像却被严重损坏.如果我可以轻松转换PDF以便所有矢量图像都被光栅化,那将会很棒.

我对任何可能的解决方案感兴趣,但基于Linux或Windows的解决方案更可取.

pdf file-conversion vector-graphics rasterizing image-conversion

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

C#中的JPG到PDF转换器

我想从图像(如jpg或png)转换为PDF.

我已经查看了ImageMagickNET,但它对我的需求来说太复杂了.

还有哪些其他.NET解决方案或代码可用于将图像转换为PDF?

c# pdf jpeg image-conversion

19
推荐指数
4
解决办法
6万
查看次数

将BufferedImage转换为ImageIcon

如何将BufferedImage转换为ImageIcon?

我找不到任何关于此的文件.

java swing bufferedimage image-conversion imageicon

18
推荐指数
3
解决办法
5万
查看次数

在angularjs中将图像转换为base64

我有一个要求,用户将上传他们的图像,我必须将其转换为某些东西,并将其发送到.Net REStful服务.我是棱角分明的新手.请有人帮忙

image-conversion angularjs

12
推荐指数
1
解决办法
5万
查看次数

JPG 与压缩 JPG 与 WEBP - 为什么 WEBP 不是最小的?

我有这张图片(我在 SGS 9 plus 上拍摄的照片):未压缩的 JPG 图像。它的大小为 4032 x 3024,重量约为 3MB。我用TinyJPG Compressor压缩了它,它的重量是1.3MB。对于 PNG 图像,我使用了Online-Convert,我看到 webp 图像甚至比使用TinyPNG压缩的图像小得多。我期待类似的东西,尤其是我读了一篇文章JPG 到 WebP - 比较压缩大小,其中 WEBP 比压缩的 JPG 小得多。但是当我在各种在线图片转换工具中将我的JPG转换为WEBP格式时,我看到1.5-2MB大小,所以文件比我压缩的 JPG 大。我错过了什么吗?WEBP应该不会比压缩后的JPG小很多吧?预先感谢您的每一个答案。

jpeg image image-conversion image-compression webp

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

如何在终端中显示图像?

是否有任何实用程序可用于将图像转换为ASCII然后在我的终端中打印?我找了一个但似乎找不到任何东西.

terminal image ascii-art image-conversion

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

如何将PDF格式转换为图像?

使用pdfbox会显示错误:

import java.awt
import javax`
Run Code Online (Sandbox Code Playgroud)

基于以下代码:

imageType = BufferedImage.TYPE_INT_ARGB; //need to specifies java.awt
String[] formats = ImageIO.getReaderFormatNames(); //need to specifies javax
Run Code Online (Sandbox Code Playgroud)

pdf android image-conversion

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