C#调用vc++ dll 传递参数的问题(Bitmap 转换为 opencv mat ),保存后图片不一样。

http://q.cnblogs.com/q/63055/... http://q.cnblogs.com/q/63055/ 展开
 我来答
空雪梦见
推荐于2016-09-14 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1181万
展开全部
每一行最后有padding的缘运袜故。

每一行的第一个像素的第一个字节是对齐在4字节边界上的(如果无法理解这一句,你就理解为每一行第一个像素旁拿激的第一个字节的地址可以被4整除)
opencv如果没有这么做,把padding也当作有效数据,那么就敏销会偏
追问
谢谢您,能帮我看看怎么改吗?
追答
Bitmap对象Lock以后,除了scan0应该还会给你一个stride,这就是每一行所占的字节数(包括最后的padding)

opencv那边我可以算是没玩过,只有知道opencv那边到底数据是怎么要求的(比如有没有padding啊如何padding之类)才有办法从bitmap构建符合它要求的数据
你找找opencv那边每一条扫描线占用的字节数怎么计算吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式