dongwuqi4243 2017-11-28 15:42
浏览 643
已采纳

将图像从* image.YCbCr转换为* image.RGBA

I am loading a jpeg from the disk, and I would like to do some RGBA operations on it.

However, since the jpeg is not RGBA, i get an error when I try to use it as such:

thumbnail,err:=jpeg.Decode(imageAsReader)
...
return thumbnail.(*image.RGBA)

yeileds the error:

interface conversion: image.Image is *image.YCbCr, not *image.RGBA

Is there an easy way to convert the image to RGBA once I have loaded it in memory? (Other operations are in RGBA later on, so that is the color model I want to use in memory).

  • 写回答

1条回答 默认 最新

  • dongxu198714 2017-11-28 19:44
    关注

    As the comments suggest, you have to create a new image and draw into it: b := thumbnail.Bounds() m := image.NewRGBA(image.Rect(0, 0, b.Dx(), b.Dy())) draw.Draw(m, m.Bounds(), thumbnail, b.Min, draw.Src)

    YCbCr is a sub-sampled image, so it doesn't map directly to the 4-bytes-per-pixel of RGBA.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题