- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试在 YCbCr 模式下创建 PIL 镜像甚至会在我的 ubuntu 11.04 中从 synaptic 安装新的 python/PIL 时崩溃
wim@wim-ubuntu:~$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Image
>>> Image.VERSION
'1.1.7'
>>> Image.new('YCbCr', (640,480))
*** buffer overflow detected ***: python terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f4a35e4a1d7]
/lib/x86_64-linux-gnu/libc.so.6(+0xfd0f0)[0x7f4a35e490f0]
/usr/local/lib/python2.7/dist-packages/PIL/_imaging.so(ImagingNewPrologueSubtype+0x97)[0x7f4a34bfb257]
/usr/local/lib/python2.7/dist-packages/PIL/_imaging.so(ImagingNewBlock+0xb)[0x7f4a34bfb78b]
/usr/local/lib/python2.7/dist-packages/PIL/_imaging.so(ImagingNew+0x4c)[0x7f4a34bfb86c]
/usr/local/lib/python2.7/dist-packages/PIL/_imaging.so(+0xfd22)[0x7f4a34bddd22]
python(PyEval_EvalFrameEx+0x361)[0x4965f1]
python(PyEval_EvalCodeEx+0x145)[0x49d325]
python(PyEval_EvalFrameEx+0x802)[0x496a92]
python(PyEval_EvalCodeEx+0x145)[0x49d325]
python(PyEval_EvalCode+0x32)[0x4ecb02]
python[0x4fdc74]
python(PyRun_InteractiveOneFlags+0x1e2)[0x42cd9e]
python(PyRun_InteractiveLoopFlags+0xc0)[0x42cebd]
python(PyRun_AnyFileExFlags+0x39)[0x42d2e1]
python(Py_Main+0xac9)[0x418c9e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff)[0x7f4a35d6aeff]
python[0x4c62b1]
======= Memory map: ========
00400000-0062f000 r-xp 00000000 08:21 1049585 /usr/bin/python2.7
0082e000-0082f000 r--p 0022e000 08:21 1049585 /usr/bin/python2.7
0082f000-00897000 rw-p 0022f000 08:21 1049585 /usr/bin/python2.7
00897000-008a9000 rw-p 00000000 00:00 0
01f0a000-021a1000 rw-p 00000000 00:00 0 [heap]
7f4a34794000-7f4a347a9000 r-xp 00000000 08:21 659235 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4a347a9000-7f4a349a8000 ---p 00015000 08:21 659235 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4a349a8000-7f4a349a9000 r--p 00014000 08:21 659235 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4a349a9000-7f4a349aa000 rw-p 00015000 08:21 659235 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4a349aa000-7f4a349cd000 r-xp 00000000 08:21 1057568 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4a349cd000-7f4a34bcc000 ---p 00023000 08:21 1057568 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4a34bcc000-7f4a34bcd000 r--p 00022000 08:21 1057568 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4a34bcd000-7f4a34bce000 rw-p 00023000 08:21 1057568 /usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
7f4a34bce000-7f4a34c0b000 r-xp 00000000 08:21 1312337 /usr/local/lib/python2.7/dist-packages/PIL/_imaging.so
7f4a34c0b000-7f4a34e0b000 ---p 0003d000 08:21 1312337 /usr/local/lib/python2.7/dist-packages/PIL/_imaging.so
7f4a34e0b000-7f4a34e0e000 r--p 0003d000 08:21 1312337 /usr/local/lib/python2.7/dist-packages/PIL/_imaging.so
7f4a34e0e000-7f4a34e11000 rw-p 00040000 08:21 1312337 /usr/local/lib/python2.7/dist-packages/PIL/_imaging.so
7f4a34e11000-7f4a34e30000 r-xp 00000000 08:21 1316665 /usr/lib/python2.7/lib-dynload/_ctypes.so
7f4a34e30000-7f4a3502f000 ---p 0001f000 08:21 1316665 /usr/lib/python2.7/lib-dynload/_ctypes.so
7f4a3502f000-7f4a35030000 r--p 0001e000 08:21 1316665 /usr/lib/python2.7/lib-dynload/_ctypes.so
7f4a35030000-7f4a35034000 rw-p 0001f000 08:21 1316665 /usr/lib/python2.7/lib-dynload/_ctypes.so
7f4a35034000-7f4a35035000 rw-p 00000000 00:00 0
7f4a35035000-7f4a35075000 r-xp 00000000 08:21 655419 /lib/libncurses.so.5.7
7f4a35075000-7f4a35274000 ---p 00040000 08:21 655419 /lib/libncurses.so.5.7
7f4a35274000-7f4a35278000 r--p 0003f000 08:21 655419 /lib/libncurses.so.5.7
7f4a35278000-7f4a35279000 rw-p 00043000 08:21 655419 /lib/libncurses.so.5.7
7f4a35279000-7f4a352b2000 r-xp 00000000 08:21 655450 /lib/libreadline.so.6.2
7f4a352b2000-7f4a354b2000 ---p 00039000 08:21 655450 /lib/libreadline.so.6.2
7f4a354b2000-7f4a354b4000 r--p 00039000 08:21 655450 /lib/libreadline.so.6.2
7f4a354b4000-7f4a354ba000 rw-p 0003b000 08:21 655450 /lib/libreadline.so.6.2
7f4a354ba000-7f4a354bb000 rw-p 00000000 00:00 0
7f4a354bb000-7f4a354c0000 r-xp 00000000 08:21 1316693 /usr/lib/python2.7/lib-dynload/readline.so
7f4a354c0000-7f4a356bf000 ---p 00005000 08:21 1316693 /usr/lib/python2.7/lib-dynload/readline.so
7f4a356bf000-7f4a356c0000 r--p 00004000 08:21 1316693 /usr/lib/python2.7/lib-dynload/readline.so
7f4a356c0000-7f4a356c2000 rw-p 00005000 08:21 1316693 /usr/lib/python2.7/lib-dynload/readline.so
7f4a356c2000-7f4a35d4c000 r--p 00000000 08:21 1055991 /usr/lib/locale/locale-archive
7f4a35d4c000-7f4a35ed6000 r-xp 00000000 08:21 659207 /lib/x86_64-linux-gnu/libc-2.13.so
7f4a35ed6000-7f4a360d5000 ---p 0018a000 08:21 659207 /lib/x86_64-linux-gnu/libc-2.13.so
7f4a360d5000-7f4a360d9000 r--p 00189000 08:21 659207 /lib/x86_64-linux-gnu/libc-2.13.so
7f4a360d9000-7f4a360da000 rw-p 0018d000 08:21 659207 /lib/x86_64-linux-gnu/libc-2.13.so
7f4a360da000-7f4a360e0000 rw-p 00000000 00:00 0
7f4a360e0000-7f4a36164000 r-xp 00000000 08:21 659244 /lib/x86_64-linux-gnu/libm-2.13.so
7f4a36164000-7f4a36363000 ---p 00084000 08:21 659244 /lib/x86_64-linux-gnu/libm-2.13.so
7f4a36363000-7f4a36364000 r--p 00083000 08:21 659244 /lib/x86_64-linux-gnu/libm-2.13.so
7f4a36364000-7f4a36365000 rw-p 00084000 08:21 659244 /lib/x86_64-linux-gnu/libm-2.13.so
7f4a36365000-7f4a3637c000 r-xp 00000000 08:21 659290 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f4a3637c000-7f4a3657b000 ---p 00017000 08:21 659290 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f4a3657b000-7f4a3657c000 r--p 00016000 08:21 659290 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f4a3657c000-7f4a3657d000 rw-p 00017000 08:21 659290 /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7f4a3657d000-7f4a366e3000 r-xp 00000000 08:21 655398 /lib/libcrypto.so.0.9.8
7f4a366e3000-7f4a368e3000 ---p 00166000 08:21 655398 /lib/libcrypto.so.0.9.8
7f4a368e3000-7f4a368f0000 r--p 00166000 08:21 655398 /lib/libcrypto.so.0.9.8
7f4a368f0000-7f4a36909000 rw-p 00173000 08:21 655398 /lib/libcrypto.so.0.9.8
7f4a36909000-7f4a3690c000 rw-p 00000000 00:00 0
7f4a3690c000-7f4a36958000 r-xp 00000000 08:21 655454 /lib/libssl.so.0.9.8Aborted
wim@wim-ubuntu:~$
我已经尝试过
find /usr -name Image.py | xargs grep -n YCbCr
并找到了我认为有问题的行
216: "YCbCr": ('|u1', 4),
YCbCr 图像应该是 3 channel ,而不是 4。我将其更改为 3 并删除了 .pyc,但是当代码进入 c 代码时仍然以相同的方式崩溃(core.fill with mode='YCbCr' )。好吧,所以我想也许这个错误以某种方式进入了构建,在包管理器中标记了 PIL 以完全删除,下载了源代码、依赖项,并将数字 4 修改为 3,经过一些路径的修改后,能够再次构建 PIL,所有自检都通过,然后安装。不幸的是,仍然是同样的崩溃。现在我不知道该怎么办 - 我需要 PIL 中的 YCbCr 颜色空间支持,但无法修复该错误。
编辑:也许这可以提供进一步的见解,我发现虽然 Image.new('YCbCr', (640,480))
在 10.10 中没有崩溃,可以使用 numpy.asarray(Image.new('YCbCr', (640,480)))
引发段错误。 。这一切听起来像是 numpy 和/或 PIL 的某些 C 扩展中的内存问题,或者它们彼此交谈的方式的问题。
最佳答案
追根溯源,似乎是strcpy()
在libImaging/Storage.c:186这导致了缓冲区溢出。进一步查看代码,我发现 im->mode
不够大,无法容纳"YCbCr"
.
要解决这个问题,只需更改 libImaging/Imaging.h:78来自char mode[4+1];
至 <罢工> char mode[4+2];
char mode[6+1];
并重新编译PIL。
对于numpy.asarray
,根据another post ,我认为这也是 PIL 的问题以及您对 Image.py
的修复应该可以。
编辑:之前提交了 Fedora 补丁,建议更改为 char mode[6+1];
所以缓冲区足够大,可以容纳 "RGB;32"
.
OOT:如果Linus would see this由于它的魔力,他肯定不会接受我的修复..
关于python PIL YCbCr 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080825/
我正在寻找将具有 444 YCbCr 的 JPEG 转换为 422 YCbCr 的可能性。根据 RFC 2435 for RTP Streaming,JPEG 文件必须具有 JPEG 422 YCbC
我目前正在从事一个涉及色彩空间的项目。我不太明白 Cb 和 Cr 在 YCbCr 颜色空间中的含义。维基百科说“蓝差和红差色度分量”,但我不明白它们的意思。 YCbCr 在图像处理方面比 RGB 或
我正在尝试从处于 Ycbcr 颜色模式的帧中获取像素的 Y 值。这是我写的: cv::Mat frame, Ycbcrframe, helpframe; ........ cvtColor(fra
尝试在 YCbCr 模式下创建 PIL 镜像甚至会在我的 ubuntu 11.04 中从 synaptic 安装新的 python/PIL 时崩溃 wim@wim-ubuntu:~$ python P
我正在使用 OpenCV 从多个摄像头捕获实时数据: capture = cvCaptureFromCAM(cameraNo) 现在,我需要将图像转换为 YCbCr 色彩空间。我意识到我可以使用 cv
我正在尝试将图像从 RBG(OpenCV 中的 BGR)手动转换为 YCbCr 色彩空间。 我的图像是一张 png 彩色图像,宽度为 800,高度为 600,3 个 channel ,16 位深度。
我正在使用 PIL 在 Python 中进行一些图像处理,我需要从一系列图像中提取亮度层,并使用 numpy 对其进行一些处理,然后将编辑后的亮度层放回图像中并保存.问题是,我似乎无法以 YCbCr
我一直在尝试在 Vulkan 中对 YCbCr 图像进行采样,但我一直得到不正确的结果,我希望有人能够发现我的错误。 我有一个 NV12 YCbCr 图像,我想将它渲染到两个三角形上,形成一个四边形。
下面是一个将 RGB 转换为 YCbCr 的矩阵。你能告诉我如何获得将 YCbCr 转换为 RGB 的公式吗?我的意思是,我有可用的 YCbCr 值,我想从中获取 RGB。 最佳答案 如果您询问公式是
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我需要从 JPEG 图像中提取 CbCr 色度数据,用于图像分析。 (在 C/C++ 中) 据我了解,JPEG“原始数据”是经过压缩的 YCbCr。我的这个假设是否正确?如何针对给定图像验证这一点?
我正在尝试使用 python 进行 JPEG 压缩。我加载了一个 tiff 图像并将其存储为 numpy uint8 RGB 数组。我这样做是为了颜色映射。 def rgb2ycbcr(im):
我需要将 RGB 图像转换为 YCbCr 颜色空间,但有一些颜色偏移问题,我使用了所有公式并得到了相同的结果。 python 中的公式 cbcr[0] = int(0.299*rgb[0]
我有具有 YCbCr 色彩空间的图像。但我想让它们变成 CMYK。我怎么做? Perl 解决方案会很棒。命令行 (Ubuntu) 解决方案会很好。 我试过使用 ImageMagick,但我的图像大多是
如何将BitmapFactory.decodeFile()返回的Bitmap转成YUV格式(类似于相机的onPreviewFrame()返回字节数组)? 最佳答案 下面是一些实际工作的代码:
我在尝试使用一些不同的图像格式时遇到了一些我觉得很奇怪的事情。当从 RGB 转换为 YCbCr 然后再转换回 RGB 时,结果与我开始时的结果非常相似(像素值的差异几乎总是小于 4)。但是,当我从 Y
有一个来自 http://www.delphiffmpeg.com 的视频编码示例- 需要将一组TBitmaps转换成YCbCr(YUV),我们应该怎么做呢?该示例包含虚拟颜色: (* encod
在 OpenCV (Python) 中,要将 RGB 转换为 YCbCr,我们使用: imgYCC = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB) 如果我想回到 R
我需要将加载到 BufferedImage 的位图中的颜色从 RGB 转换为 YCbCr(亮度和 2 channel 色度),并在处理后转换回来。 我在每个像素的主方法中使用像 rgb2ycbcr()
我有 8 位的 Y、Cb、Cr 值,你能给我简单的 C 函数,将它转换为 8 位的 R、G、B。 这是它的原型(prototype)。 void convertYCbCrToRGB( unsi
我是一名优秀的程序员,十分优秀!