java opencv byte[] 转Mat类型遇到的坑
先上测试代码
Mat mat = new Mat(1024,1024,CV_8UC1);
byte[] arr = new byte[64];
Arrays.fill(arr,(byte)0xff);
//实际需要覆盖多个小图像,这里为简化需求将左上角覆盖一白色方块
for(int i=0;i<64;i++){
mat.put(i,0,arr);
}
imwrite("test.bmp",mat);
起初我以为这样生成的图片除了左上角是白色其余都是纯黑色,执行一次确实也是这种现象,认为new Mat(1024,1024,CV_8UC1)默认是全0数组。但是在项目中批量处理图像时,发现白色方块之外还有随机点像素不是0。 我的天,经过深入思考以为是我mat.put()时实现错误
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/16953.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论