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);
这三个函数是不是得自己写实现啊
* 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 类也不是很了解
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);
这三个函数是不是得自己写实现啊
* 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 类也不是很了解
Matrix dataR=getDataR(pix, width, height);
Matrix dataG=getDataG(pix, width, height);
Matrix dataB=getDataB(pix, width, height);
这段代码的功能是啥
对这个Matrix 类也不是很了解
#5
你百度下RGB,Matrix类
#6
我找到写这个函数的人博客了 正在看全部源代码 估计能够解决 谢谢你了
#7
我能问一下怎么解决的呢