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

        以后尽量注意…

  • 相关阅读:
    Python模块:struct
    Python模块:hashlib
    Python模块:collections
    python:爬虫
    Python:进程
    Python:线程
    Python:socket
    Welcome to ARFA's cnblog ! (Click me)
    骗访问量的机房人物列传by xMinh
    关于我
  • 原文地址:https://www.cnblogs.com/darkknightzh/p/opencv.html
Copyright © 2011-2022 走看看