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生成的数据,导致宽度不一定是原始的数据宽度。

        以后尽量注意…

  • 相关阅读:
    vue——图片懒加载v-lazy
    vue——利用intersectionOberver实现全局appear/disappear事件
    WXS-----学会使用WXS
    使用内联样式
    样式引入
    小程序开发框架----WXSS
    引入内部外部模板
    Selenium元素定位的几种方式
    Response Assertion(响应断言)
    参数化CSV Data Set config元件
  • 原文地址:https://www.cnblogs.com/darkknightzh/p/opencv.html
Copyright © 2011-2022 走看看