我正在使用pygame(1.9.0rc3,虽然这也发生在1.8.1中)来创建热图.为了构建热图,我使用了一个小的24位11x11px点PNG图像,白色背景和非常低不透明度的灰色点在边缘处完全停止:
点图像http://img442.imageshack.us/img442/465/dot.png
点周围的区域是完美的白色,#fffff,应该是.但是,当我使用pygame使用BLEND_MULT将图像多次blit到新表面时,会出现一个灰色方块,好像点背景不是完美的白色,这没有意义.
以下代码以及包含的图像可以重现这一点:
import os
import numpy
import pygame
os.environ['SDL_VIDEODRIVER'] = 'dummy'
pygame.display.init()
pygame.display.set_mode((1,1), 0, 32)
dot_image = pygame.image.load('dot.png').convert_alpha()
surf = pygame.Surface((100, 100), 0, 32)
surf.fill((255, 255, 255))
surf = surf.convert_alpha()
for i in range(50):
surf.blit(dot_image, (20, 40), None, pygame.BLEND_MULT)
for i in range(100):
surf.blit(dot_image, (60, 40), None, pygame.BLEND_MULT)
pygame.image.save(surf, 'result.png')
Run Code Online (Sandbox Code Playgroud)
运行代码时,您将看到以下图像:
混合后产生的图像http://img263.imageshack.us/img263/4568/result.png
有这种情况发生的原因吗?我该如何解决这个问题?
最近花了很多时间做2D工作,涉及像素操作位图和混合/合成,我遇到了我自己对色彩空间,非RGB色彩世界等的理解的限制.
我想回到基础知识并了解所有这些东西是如何工作的,这样下次我不需要考虑如何设置混合功能,我不知道怎么玩调色板等
什么指针可以在路径上开始?在线参考好的,实际的书籍写得很清楚.(不是寻找那些只是成堆的方程式的东西,但如果它不太简洁,可以跟随肮脏的东西.)
谢谢!
所以我经常在一个非智能的佳能多功能上运行巨大的双面扫描工作,这给我留下了一个巨大的JPEG文件夹.我是否疯狂考虑使用PIL分析图像文件夹以检测空白页的扫描并标记它们以进行删除?
离开文件夹爬行和标记部分,我想这看起来像:
我知道这是一个边缘情况,但任何有PIL经验的人都可以提供一些指示吗?
python imaging computer-vision python-imaging-library image-scanner
在公共站点上运行Google Page Speed时,我看到了该工具的一些建议,如下所示:
无损压缩http://g-ecx.images-amazon.com/images/G/01/electronics/detail-page/Acer-120x120._V137848950_.gi可以节省4.8KiB(减少26%),并且还提供了链接最佳化的内容。但是他们会以每个图片为基础。压缩后,我看到文件大小有明显减少。所以问题是:
我是否可以使用任何工具或Web服务,以便为它提供未压缩图像的目录(例如.gif),并返回包含所有压缩图像的图像目录?
我在这里找到了一个与SO有关的问题,但这并不是一个完全相同的问题。
谢谢阅读。
这是一个解决方案,使C#Windows窗体中的图像没有任何dll并以有效,快速的方式产生负面影响?
我有一个带附加模糊效果的WPF图像控件.有没有办法在不使用RenderTargetBitmap的情况下保存图像(带模糊)?
谢谢.
更新:我现在使用的是从System.Windows.Media.Effects.ShaderEffect派生的新自定义效果.我想保存我的图像应用着色器效果.
我试图用DrawString文字作为图像,然后旋转90度.它既可以使用位图也可以直接在PictureBox上工作,但最大的区别在于质量.PictureBox绘制的文字质量很好,看起来不错.当我在图像上绘制它看起来很可怕和块状.我做了一些改变试图让它看起来更好,但它看起来并不像它应该的那么好.
示例代码:
使用Windows窗体项目并在其上放置2个图片框和一个按钮,并使用以下代码运行它以查看我的意思:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As System.Drawing.Graphics
g = PictureBox1.CreateGraphics
' x.DrawRectangle(New Pen(Brushes.White, 200), New Rectangle(0, 0, 200, 200))
g.TranslateTransform(10.0F, 0.0F)
g.RotateTransform(90)
g.DrawString("MM Components", New Font("Arial", 7, FontStyle.Regular), Brushes.DarkBlue, New PointF(0, 0))
Dim g2 As System.Drawing.Graphics
Dim img As New Bitmap(300, 300, Drawing.Imaging.PixelFormat.Format24bppRgb)
g2 = Graphics.FromImage(img)
g2.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
g2.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
g2.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
' img.SetResolution(150, 150)
' x.DrawRectangle(New Pen(Brushes.White, …Run Code Online (Sandbox Code Playgroud) 来自PIL setup.py构建的一些背景知识:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.6.2 (release26-maint, Apr 19 2009, 01:58:18)
[GCC 4.3.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
这是在Ubuntu 9.04上安装的.
我只需要PIL来启用Django上传和调整各种图像(不同格式)的大小.不幸的是,它目前无法处理JPEG.在执行PIL的selftest.py之后,它想出了这个:
*** The _imaging C module is not installed
Run Code Online (Sandbox Code Playgroud)
我尝试使用python -v解释器导入Image和_imaging(两者都有效)...
>>> from PIL import Image
import PIL # directory PIL
# PIL/__init__.pyc matches PIL/__init__.py
import PIL # precompiled from PIL/__init__.pyc
# PIL/Image.pyc …Run Code Online (Sandbox Code Playgroud) 我有一组fMRI图像.一组的维数为90 x 60 x 12 x 350,体素尺寸为1 x 1 x 1 mm(350体积).另一组的维数为80 x 35 x 12 x 350,体素尺寸为0.2 x 0.2 x 0.5 mm.我正在使用其中一个图像作为参考图像进行注册.由于分辨率的差异,注册失败(有调情).所以我必须先进行下采样或上采样.我尝试了以下方法:
flirt -in input_image\-ref good_size_image\-outoutout_image\-applyxfm\-init /usr/share/fsl/5.0/etc/flirtsch/ident.mat
这不起作用,不适用于下采样而不适用于上采样.
我该如何正确地进行下采样/上采样?
imaging ×10
python ×3
c# ×2
graphics ×2
.net ×1
barcode ×1
color-space ×1
compression ×1
django ×1
drawstring ×1
gdi+ ×1
image ×1
medical ×1
neuroscience ×1
pagespeed ×1
pygame ×1
ubuntu ×1
vb.net ×1
winforms ×1
wpf ×1