阅读:6801回复:16
YCbCr转换成JPEG
最近在做摄像头驱动,捕获的数据是YCbCr420格式的,需要这些数据保存成为jpg格式的图片
请问wince下有没有现成的函数可以完成这个功能呢? 如果没有,需要自己完成哪几步呢? 感谢 |
|
|
沙发#
发布于:2007-06-11 22:44
WinCE应该没有现成的函数,可以调用IJG的libjpeg库来实现
|
|
板凳#
发布于:2007-06-12 11:04
请问2楼的大侠哪边可以找到这个静态库文件下载呢?
![]() |
|
地板#
发布于:2007-06-12 19:59
这两种东西之间有转换公式的,你在网上查一下便知
|
|
|
地下室#
发布于:2007-06-19 12:45
jpeglib是纯C写的,RGB/YUV与JPG相互转换,要消耗N多的CPU资源,假如图象幅面较大及CPU频率不是特别高,跑得很慢。
|
|
|
5楼#
发布于:2007-06-19 17:14
楼上的老牛,请教下
我的cpu是s3c2440 跑的400M 速度会不会特别慢? |
|
|
6楼#
发布于:2007-06-21 10:39
菜鸟我在PC机上试过了,320*240的YCbCr写成JPG,非常快的。但是ARM机子上面还没有试过。。。。
|
|
7楼#
发布于:2007-06-22 10:08
zzjlovece 你把YCbCr写成JPG是通过libjpeg转的吗?
我还以为libjpeg只能把rgb转成jpg的 我都先把YCbCr转成RGB的 再转jpg 不过现在还有问题 while (cinfo.next_scanline < cinfo.image_height) { /* jpeg_write_scanlines expects an array of pointers to scanlines. * Here the array is only one element long, but you could pass * more than one scanline at a time if that's more convenient. */ row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride]; (void) jpeg_write_scanlines(&cinfo, row_pointer, 1); // 第一次循环到这里就挂了 目前还没找到原因 } |
|
|
8楼#
发布于:2007-06-22 13:21
我也是先YUV转换成RGB,然后再写成JPG的。
|
|
9楼#
发布于:2007-06-25 11:26
我的现在转出来 图象偏左 还是黑白的了 哈哈
找原因中 zzjlovece 你是用的RGB565转的jpg 还是RGB888转的jpg 你有没有注意到 typedef enum { JCS_UNKNOWN, /* error/unspecified */ JCS_GRAYSCALE, /* monochrome */ JCS_RGB, /* red/green/blue */ JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ JCS_CMYK, /* C/M/Y/K */ JCS_YCCK /* Y/Cb/Cr/K */ } J_COLOR_SPACE; cinfo.in_color_space = JCS_RGB; /* colorspace of input image */ 难道这个jpeglib支持从YCbCr直接转到JPG 而不通过RGB中转? |
|
|
10楼#
发布于:2007-06-25 12:18
是RGB888,这个他那个readme里面说了要RGB888的。
那个枚举我也看到了,但是如果要用YCbCr的话,是应该用哪种YUV格式呢?YUV444,422,还是420?是YUV packed 还是plannar呢?还有YUV的sequeue的顺序怎么排列呢? 我觉得YUV可能没有RGB方便,如果要用YUV的话就需要仔细研究一下那些代码了,看看到底用的是哪种YUV格式。 ![]() |
|
11楼#
发布于:2007-06-28 10:05
感谢楼上
我用YCbCr422 转成 RGB888 再转成JPEG 成功了 哈哈 谢谢提醒 |
|
|
12楼#
发布于:2007-07-18 09:11
引用第11楼sniper167于2007-06-28 10:05发表的 : 转一个大于1600*1200的图片,要多长时间啊? |
|
|
13楼#
发布于:2007-07-18 10:18
引用第12楼hzhq1于2007-07-18 09:11发表的 : 1600*1200的没有试过 最大试过1024*768的 应该在1秒内能完成 |
|
|
14楼#
发布于:2007-07-18 10:19
再说一句
hzhq1 老牛的签名很有个性 呵呵 |
|
|
15楼#
发布于:2007-08-06 10:42
请教我从摄像头取的YUV420怎么编码成JPG文件,谢谢??
|
|
16楼#
发布于:2007-08-19 00:31
我们有这样的JPEG编码器,YUV420输入,对于QVGA(320x240)编码性能在s3c2440上可以跑到15fps以上。有兴趣请访问我们的网站 www.cyansoft.com.cn 。
|
|
|