Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从C++;到爪哇 #包括“opencv2/imgproc.hpp” #包括“opencv2/highgui.hpp” #包括“iostream” 使用名称空间cv; 双对比度测量(常数矩阵和img) { matdx,dy; Sobel(img,dx,CV_32F,1,0,3); Sobel(img,dy,CV_32F,0,1,3); 震级(dx,dy,dx); 返回和(dx)[0]; } int main(int argc,字符**argv) { char*filename=argc>=2?argv[1]:(char*)“lena.jpg”; Mat src=imread(文件名); if(src.data) { std::cout_Java_Opencv - Fatal编程技术网

Java 如何从C++;到爪哇 #包括“opencv2/imgproc.hpp” #包括“opencv2/highgui.hpp” #包括“iostream” 使用名称空间cv; 双对比度测量(常数矩阵和img) { matdx,dy; Sobel(img,dx,CV_32F,1,0,3); Sobel(img,dy,CV_32F,0,1,3); 震级(dx,dy,dx); 返回和(dx)[0]; } int main(int argc,字符**argv) { char*filename=argc>=2?argv[1]:(char*)“lena.jpg”; Mat src=imread(文件名); if(src.data) { std::cout

Java 如何从C++;到爪哇 #包括“opencv2/imgproc.hpp” #包括“opencv2/highgui.hpp” #包括“iostream” 使用名称空间cv; 双对比度测量(常数矩阵和img) { matdx,dy; Sobel(img,dx,CV_32F,1,0,3); Sobel(img,dy,CV_32F,0,1,3); 震级(dx,dy,dx); 返回和(dx)[0]; } int main(int argc,字符**argv) { char*filename=argc>=2?argv[1]:(char*)“lena.jpg”; Mat src=imread(文件名); if(src.data) { std::cout,java,opencv,Java,Opencv,对于高斯模糊,有使用Java绑定的opencv方法: #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "iostream" using namespace cv; double contrast_measure( const Mat&img ) { Mat dx, dy; Sobel( img, dx, CV_32F, 1, 0, 3 ); Sobel( img, d

对于高斯模糊,有使用Java绑定的opencv方法:

#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "iostream"

using namespace cv;

double contrast_measure( const Mat&img )
{
    Mat dx, dy;
    Sobel( img, dx, CV_32F, 1, 0, 3 );
    Sobel( img, dy, CV_32F, 0, 1, 3 );
    magnitude( dx, dy, dx );
    return sum(dx)[0];
}

int main( int argc, char** argv )
{
    char* filename = argc >= 2 ? argv[1] : (char*)"lena.jpg";
    Mat src = imread( filename );

    if(src.data)
    {
        std::cout << "original image : " << contrast_measure( src ) / 1e3 << std::endl;

        for( int i =3; i < 80; i+=2 )
        {
            Mat blurred;
            GaussianBlur( src, blurred, Size(i,i), 0);
            imshow(  "blurred image", blurred );
            waitKey(200);
            std::cout << "blurred image  : " << contrast_measure( blurred ) / 1e3 << std::endl;
        }
    }
    return 0;
}
&索贝尔

Imgproc.GaussianBlur(src, blurred, new Size(i,i),50);
&为了


因此,您基本上是在JAVA中以相同的结构重写代码。

您能分享一下您迄今为止所做的尝试吗?我已经尝试先重写度量函数。我一直在使用sobel、magnitude和sumElems。请看您的问题刚刚获得接近票数的原因。正如小的更正:javacv是一个第三方库,wh在这里,您指的是opencv java绑定
Imgproc.Sobel(src_gray, grad_x, depth, 1, 0, 3, skala, delta, Imgproc.BORDER_DEFAULT);