android图像边缘检测 锐化处理有一个函数编译不过

时间:2021-09-08 06:16:13
 Android图像处理系统1.4图像的锐化-边缘检测中有一句代码没看懂 也编译不过 求大神指教


Matrix dataR = getDataR(pixels, width, height);

中getDataR()这个函数是android自带的么 需要加什么头文件

7 个解决方案

#1


继承的类,或者实现的接口,贴上来!

#2


/* 
     * Robert算子梯度 
     *  
     */  
    public Bitmap RobertGradient(Bitmap myBitmap){  
        // Create new array  
        int width = myBitmap.getWidth();  
        int height = myBitmap.getHeight();  
        int[] pix = new int[width * height];  
        myBitmap.getPixels(pix, 0, width, 0, 0, width, height);  
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
        //Matrix dataGray=getDataGray(pix, width, height);  
        /////////////////////////////////////////////////////////  
        dataR=eachRobertGradient(dataR,width,height);  
        dataG=eachRobertGradient(dataG,width,height);  
        dataB=eachRobertGradient(dataB,width,height);  
        ///////////////////////////////////////////////////////////////  
        // Change bitmap to use new array  
        Bitmap bitmap=makeToBitmap(dataR, dataG, dataB, width, height);   
        myBitmap = null;  
        pix = null;  
        return bitmap;  
    }  
    private Matrix eachRobertGradient(Matrix tempM,int width,int height){  
        int i,j;  
        for(i=0;i<width-1;i++){  
            for(j=0;j<height-1;j++){  
                int temp=Math.abs((int)tempM.get(i, j)-(int)tempM.get(i,j+1))  
                         +Math.abs((int)tempM.get(i+1,j)-(int)tempM.get(i,j+1));  
                tempM.set(i, j, temp);  
            }  
        }  
        return tempM;  
    } 

我要用这个功能 其中
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
这三个函数是不是得自己写实现啊

#3


现在你继承的类里面找,找不到就要自己写了。

#4


关键是 我不了解
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
这段代码的功能是啥
对这个Matrix 类也不是很了解

#5


你百度下RGB,Matrix类

#6


我找到写这个函数的人博客了  正在看全部源代码 估计能够解决 谢谢你了

#7


我能问一下怎么解决的呢

#1


继承的类,或者实现的接口,贴上来!

#2


/* 
     * Robert算子梯度 
     *  
     */  
    public Bitmap RobertGradient(Bitmap myBitmap){  
        // Create new array  
        int width = myBitmap.getWidth();  
        int height = myBitmap.getHeight();  
        int[] pix = new int[width * height];  
        myBitmap.getPixels(pix, 0, width, 0, 0, width, height);  
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
        //Matrix dataGray=getDataGray(pix, width, height);  
        /////////////////////////////////////////////////////////  
        dataR=eachRobertGradient(dataR,width,height);  
        dataG=eachRobertGradient(dataG,width,height);  
        dataB=eachRobertGradient(dataB,width,height);  
        ///////////////////////////////////////////////////////////////  
        // Change bitmap to use new array  
        Bitmap bitmap=makeToBitmap(dataR, dataG, dataB, width, height);   
        myBitmap = null;  
        pix = null;  
        return bitmap;  
    }  
    private Matrix eachRobertGradient(Matrix tempM,int width,int height){  
        int i,j;  
        for(i=0;i<width-1;i++){  
            for(j=0;j<height-1;j++){  
                int temp=Math.abs((int)tempM.get(i, j)-(int)tempM.get(i,j+1))  
                         +Math.abs((int)tempM.get(i+1,j)-(int)tempM.get(i,j+1));  
                tempM.set(i, j, temp);  
            }  
        }  
        return tempM;  
    } 

我要用这个功能 其中
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
这三个函数是不是得自己写实现啊

#3


现在你继承的类里面找,找不到就要自己写了。

#4


关键是 我不了解
        Matrix dataR=getDataR(pix, width, height);  
        Matrix dataG=getDataG(pix, width, height);  
        Matrix dataB=getDataB(pix, width, height);  
这段代码的功能是啥
对这个Matrix 类也不是很了解

#5


你百度下RGB,Matrix类

#6


我找到写这个函数的人博客了  正在看全部源代码 估计能够解决 谢谢你了

#7


我能问一下怎么解决的呢