标签: imaging

我怎样才能获得jpg文件的深度?

我想使用Python检索jpeg文件的位深度.

使用Python Imaging Library:

import Image
data = Image.open('file.jpg')
print data.depth
Run Code Online (Sandbox Code Playgroud)

然而,对于明显的24位图像,这给了我8的深度.难道我做错了什么?有没有办法用纯Python代码做到这一点?

提前致谢.

编辑:这是data.bits而不是data.depth.

python jpeg imaging

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

Android ImageReader获得NV21格式?

我没有成像或图形的背景,所以请耐心等我:)

我在我的一个项目中使用JavaCV.在这些例子中,Frame构造了一个具有一定大小的缓冲区的a .

public void onPreviewFrame(byte[] data, Camera camera)在Android中使用该函数时,data如果将声明声明Framenew Frame(frameWidth, frameHeight, Frame.DEPTH_UBYTE, 2);where frameWidthframeHeight声明为,则复制此字节数组没有问题

Camera.Size previewSize = cameraParam.getPreviewSize();
int frameWidth = previewSize.width;
int frameHeight = previewSize.height;
Run Code Online (Sandbox Code Playgroud)

最近,Android添加了一种捕获屏幕的方法.当然,我想抓住那些图像并将它们转换为Frames.我修改了Google的示例代码以使用ImageReader.

ImageReader被构造为ImageReader.newInstance(DISPLAY_WIDTH, DISPLAY_HEIGHT, PixelFormat.RGBA_8888, 2);.所以目前它使用RGBA_8888像素格式.我使用以下代码将字节复制到Frame,实例化为new Frame(DISPLAY_WIDTH, DISPLAY_HEIGHT, Frame.DEPTH_UBYTE, 2);:

ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
mImage.close();
((ByteBuffer) frame.image[0].position(0)).put(bytes); …
Run Code Online (Sandbox Code Playgroud)

android imaging image android-mediaprojection

8
推荐指数
1
解决办法
7966
查看次数

在PIL中使用像素字体

我正在使用包含许多精确放置的文本字符串的PIL创建图像.我第一次尝试是为描述像素字体转换成PIL兼容的格式在这里.例如,我下载Silksreen字体并将其转换为:

otf2bdf -p 8pt -o fonts/slkscr.bdf fonts/slkscr.ttf 
pilfont.py fonts/slkscr.bdf
Run Code Online (Sandbox Code Playgroud)

我可以在PIL中使用字体,如下所示:

import Image, ImageDraw, os, sys, ImageFont
im = Image.new("RGB", (40,10))
draw = ImageDraw.Draw(im)
fn = ImageFont.load('fonts/slkscr.pil')
draw.text((0,0), "Hello", font=fn)
del draw
# write to stdout
im.save(sys.stdout, "PNG")
Run Code Online (Sandbox Code Playgroud)

但是,得到的图像(替代文字)不反映字体应该是什么样子.

我应该使用什么程序来转换和使用像素字体,以便它们按预期呈现?

提前致谢.

python imaging

7
推荐指数
1
解决办法
2430
查看次数

如何在千兆像素位图上实现平移/缩放?

在我的项目中,我正在使用(未压缩的16位灰度)千兆像素图像,这些图像来自高分辨率扫描仪,用于测量目的.由于这些位图无法加载到内存中(主要是由于内存碎片),我使用的是瓷砖(以及光盘上的平铺TIFF).(请参阅StackOverflow主题)

我需要以Google Maps或DeepZoom的方式实现平移/缩放.我必须在将它呈现在屏幕上之前动态应用图像处理,因此我不能使用直接访问图像文件的预先烹饪的库.对于缩放,我打算在我的文件(金字塔存储)中保留一个多分辨率图像.最有用的步骤似乎是+ 200%,50%并且显示全部.

我的代码库目前是C#和.NET 3.5.目前我假设表格类型,除非WPF在这方面给我很大的优势.我有一个方法可以返回底层图像的任何(已处理)部分.

具体问题:

  • 关于如何通过按需生成图像部件来实现此平移/缩放的提示或参考
  • 任何可用作基础的代码(最好是商业版或LGPL/BSD版许可证)
  • 可以使用DeepZoom(也就是说有一种方法可以提供一个函数来为当前的缩放级别提供正确的分区?)(我还需要像素精确的寻址)

.net c# imaging

7
推荐指数
1
解决办法
4421
查看次数

OpenCV分组白色像素

我已经完成了艰苦的工作,将我的MacBook上的iSight摄像头转换为红外摄像头,转换它,设置阈值等等.现在有一个看起来像这样的图像:

替代文字

我现在的问题是; 我需要通过分组白色像素来了解我的图像上有多少斑点.我不想使用cvBlob/ cvBlobsLib,我宁愿只使用OpenCV中已有的东西.

可以通过检查(阈值)触摸白色像素循环像素并对它们进行分组,但我猜测从OpenCV可能有一种非常简单的方法吗?

我猜我不能使用,cvFindContours因为这将检索一个大数组中的所有白色像素,而不是将它们分成"组".谁能推荐?(注意这些不是圆圈,只是从小红外LED发出的光)

提前谢谢了!
tommed

c opencv imaging image-processing video-processing

7
推荐指数
1
解决办法
4312
查看次数

是否有Python库为各种文档文件格式创建缩略图?

我想从各种"文档"文件格式生成缩略图,例如odt,doc(x)和ppt(x),还有来自Python应用程序的mp4,psd,tiff(以及可能的其他).据我所知,对于这些格式中的每一种,至少有一个开源应用程序可以生成预览图像/缩略图(例如LibreOffice,ffmpeg)或者至少提取嵌入的缩略图(例如imagemagick).

我的主要问题是这些应用程序/库中的每一个都使用不同的命令行选项,因此我正在寻找一个Python库(或统一的CLI工具),它提供了一个高级API来生成具有指定维度的缩略图,给出质量级别文件名并调用适当的外部工具(理想情况下包括捕获异常,段错误和超时).如果请求可以生成多个缩略图,则奖励点数(例如,每页一页,页面XY,每Z秒,但最多N个图像).

有谁知道这样的库/实用程序?(边界条件:文件可能包含敏感材料或可能非常大,因此必须在没有任何网络通信的情况下工作,使用外部Web服务是不可能的.)

如果在Python中没有这样的东西,那么本地可安装的Web服务也可以.

python imaging image thumbnails

7
推荐指数
1
解决办法
3328
查看次数

C#TWAIN互动

我正在尝试设置一个C#应用程序,它使用代码项目中的 TWAIN 示例

这工作正常,除了我需要强制Form转换IMessageFilter并调用IMessageFilter.PreFilterMessage()以捕获TWAIN回调.
另外我需要通过调用来启动这个过滤

Application.AddMessageFilter();
Run Code Online (Sandbox Code Playgroud)

有没有办法在WPF窗口中做同样的事情?(添加消息过滤器并捕获TWAIN回调).

另一个完全高级的问题:有没有人知道替代C#TWAIN库\包装器?

谢谢.

c# wpf twain imaging image-scanner

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

如何指定特定的Group 3 tiff压缩?

第3组压缩有2种变化(第3组1D和第3组2D).以Tiff格式保存图像时,EncoderValue枚举中只有一个选项用于第3组.是否有一个单独的参数来控制它?

c# drawing tiff imaging

6
推荐指数
1
解决办法
2306
查看次数

如何使用system.drawing在c#中将居中文本绘制到jpg上

我使用以下代码将文本绘制到jpg图像上,但它需要x/y坐标精度来放置文本的位置.

var bmp = new Bitmap("C:\\testing\\Given.jpg");
var gra = Graphics.FromImage(bmp);

var text = "The Berman's";
var font = new Font("Segoe Script", 24);
var brush = Brushes.Orange;
var point = new PointF(130, 224);

gra.DrawString(text, font, brush, point);
bmp.Save("C:\\testing\\Custom.jpg");
Run Code Online (Sandbox Code Playgroud)

我如何将文本居中放在图像上?我猜这将与定义某种容器(矩形可能?),这是图像的宽度和文本的中心?不确定最佳做法是什么.

c# asp.net system.drawing imaging system.drawing.imaging

6
推荐指数
1
解决办法
3917
查看次数

在 Go 中将图像编码为 JPEG

我有一个名为 SpriteImage 的结构,其定义如下:

type SpriteImage struct {
    dimentions      image.Point
    lastImgPosition image.Point
    sprite          *image.NRGBA
}
Run Code Online (Sandbox Code Playgroud)

在我的流程中,我首先启动一个新的此类结构:

func NewSpriteImage(width, height int) SpriteImage {
    c := color.RGBA{0xff, 0xff, 0xff, 0xff}
    blankImage := imaging.New(width, height, c)

    return SpriteImage{
        dimentions:      image.Point{X: width, Y: height},
        lastImgPosition: image.Point{X: 0, Y: 0},
        sprite:          blankImage,
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我将图像添加到该 SpriteImage 中,如下所示:

func (s *SpriteImage) AddImage(img image.Image) error {
    imgWidth := img.Bounds().Dx()
    imgHeight := img.Bounds().Dy()

    // Make sure new image will fit into the sprite.
    if imgWidth != s.dimentions.X {
        return …
Run Code Online (Sandbox Code Playgroud)

jpeg imaging go

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