我在做一个Android 上的AR (视觉增强) 应用.
是基于开放代码的AndAR。
源代码是以手机的摄像头为来源。
我现在想把图像来源改成一个网络摄像头。图像处理的部分都在这个Activity里实现,他是继承父类AndARActivity的CustomAcitivity
代码如下:public class CustomActivity extends AndARActivity { CustomObject someObject;
ARToolkit artoolkit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CustomRenderer renderer = new CustomRenderer();//optional, may be set to null
super.setNonARRenderer(renderer);//or might be omited
try {
//register a object for each er type
artoolkit = super.getArtoolkit();
someObject = new CustomObject
("test", "patt.hiro", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "android.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "barcode.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
} catch (AndARException ex){
//handle the exception, that means: show the user what happened
System.out.println("");
}
startPreview();
} /**
* Inform the user about exceptions that occurred in background threads.
* This exception is rather severe and can not be recovered from.
* TODO Inform the user and shut down the application.
*/
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("AndAR EXCEPTION", ex.getMessage());
finish();
}
}
这里面涉及到camera的就是一句startPreview();是父类里的方法。 /**
* Open the camera and start detecting ers.
* note: You must assure that the preview surface already exists!
*/
public void startPreview() {
if(!surfaceCreated) return;
if(mPausing || isFinishing()) return;
if (camStatus.previewing) stopPreview();
openCamera();
camera.startPreview();
camStatus.previewing = true;
}我已经写好了socketcamera的程序,也可以实现把视频传给手机实时显示。
但是不知道怎么把Activity 里的camera 变成 socketcamera。父类完整的代码在这里:
http://www.google.com/codesearch#1KqbJe1maMI/trunk/AndAR/src/edu/dhbw/andar/AndARActivity.java&type=cs&q=mcamera&exact_package=http://andar.googlecode.com/svn
是基于开放代码的AndAR。
源代码是以手机的摄像头为来源。
我现在想把图像来源改成一个网络摄像头。图像处理的部分都在这个Activity里实现,他是继承父类AndARActivity的CustomAcitivity
代码如下:public class CustomActivity extends AndARActivity { CustomObject someObject;
ARToolkit artoolkit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CustomRenderer renderer = new CustomRenderer();//optional, may be set to null
super.setNonARRenderer(renderer);//or might be omited
try {
//register a object for each er type
artoolkit = super.getArtoolkit();
someObject = new CustomObject
("test", "patt.hiro", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "android.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "barcode.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
} catch (AndARException ex){
//handle the exception, that means: show the user what happened
System.out.println("");
}
startPreview();
} /**
* Inform the user about exceptions that occurred in background threads.
* This exception is rather severe and can not be recovered from.
* TODO Inform the user and shut down the application.
*/
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("AndAR EXCEPTION", ex.getMessage());
finish();
}
}
这里面涉及到camera的就是一句startPreview();是父类里的方法。 /**
* Open the camera and start detecting ers.
* note: You must assure that the preview surface already exists!
*/
public void startPreview() {
if(!surfaceCreated) return;
if(mPausing || isFinishing()) return;
if (camStatus.previewing) stopPreview();
openCamera();
camera.startPreview();
camStatus.previewing = true;
}我已经写好了socketcamera的程序,也可以实现把视频传给手机实时显示。
但是不知道怎么把Activity 里的camera 变成 socketcamera。父类完整的代码在这里:
http://www.google.com/codesearch#1KqbJe1maMI/trunk/AndAR/src/edu/dhbw/andar/AndARActivity.java&type=cs&q=mcamera&exact_package=http://andar.googlecode.com/svn
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货