微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

opencv android:改变`Cv.Type`会导致像素大小改变 问题:

如何解决opencv android:改变`Cv.Type`会导致像素大小改变 问题:

我在 android 上使用 OpenCV 来构建一个 DCT 隐写术 应用程序。 我必须根据CvTypedct..等不同的过程更改图像垫的idct

步骤:(以及该步骤所需的 mat 类型)

  1. 加载图像位图并从中获取图像 mat (CvType.CV_8UC4)
  2. 将图像从 RGB 转换为 YCrCb
  3. 将图像分成 8 x 8 块。
  4. 中心像素值大约为 0 [0-255 => -128-127] (CvType.CV_32SC1)
  5. 应用 DCT 变换以获得块的 DCT 系数。 (CvType.CV_32FC1)
  6. 量化 [用量化矩阵划分 DCT 系数]
  7. 现在用我们的秘密消息替换非 0/1/DC 系数的 LSB。 (CvType.CV_8SC1)
  8. 逆量化**(CvType.CV_32FC1)**
  9. 逆 DCT
  10. [0-255
  11. ycbcr 转 RGB
  12. 从图像 mat获取位图 (CvType.CV_8UC4)
  13. 将位图另存为 jpeg。

问题:

11th 步骤中,我必须将图像垫转换为原始类型 imOut.convertTo(imOut,imIn.type())。 通过测试,我发现在此步骤中,一小部分像素值发生了变化(例如,DCT 系数之一:1312),这将 steg 消息从 {{1 }} 到 aaaaaa

有什么解决办法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。