zoukankan      html  css  js  c++  java
  • (原)java中opencv的width的问题

         调试程序,我这边负责在JNI中将缓冲区中的数据转换成bitmp。测试时用320*240的图像测试正常,但是别人使用的图像宽度为270时,图像出现了错位(没截图,不好理解)。

        首先想到的是opencv的图像宽度的问题(其实确实也是这个问题,只是我调试错了地方)。

        开始将bitmap的图像的宽度改成能被4整除,结果图像不正确,而且偶尔会出现崩溃…

        之后将bitmap和输入的缓冲区的宽度都改成能被4整除,结果图像出现一条斜的没有数据的条纹。

        再然后我用raw的数据测试,发现代码正常。最后突然想到,其实输入的缓冲区是opencv的数据,数据的宽度强制转换成能被4整除了。因而把bitmap的宽度改成需要的输入(例如270),将缓冲区的宽度重新计算,转换成4的整数倍。图像正常,程序也没有崩溃…

    int widthCV=(int((width-1)/4.0+1)*4);

        开始把opencv的和bitmap的宽度弄混了,以至于调试了一会。还有就是最初没想到别人给我的是opencv生成的数据,导致宽度不一定是原始的数据宽度。

        以后尽量注意…

  • 相关阅读:
    javascript基础
    DOM操作
    js各种弹框
    ZeroMQ,史上最快的消息队列(转)
    mysql 存储过程
    java数据结构与算法(二)----栈和队列
    java数据结构与算法(一)----数组简单排序
    软件开发流程(转)
    Digest [information value filtering]
    Facebook 的系统架构(转)
  • 原文地址:https://www.cnblogs.com/darkknightzh/p/opencv.html
Copyright © 2011-2022 走看看