ARToolKit Android 无法识别新模式
ARToolKit Android cannot recognize new pattern
大家好我有一个关于AR技术的问题!
与我遇到问题的 ARToolKit 框架完全一致。
我做了教程中的所有操作,但应用程序无法识别我输入的符号。
教程页面:link
我创造了什么:
- 关于符号 (filename.patt) 的模式文件并将其添加到 \Data\ 下的项目中
- 使用 mk_patt.exe 识别出我希望作为来源的图像。
- 修改来源:
markerID = ARToolKit.getInstance().addMarker("single;Data/patt.eslogo;80");
但我不知道我还需要做些什么。
顺便说一句,这是一个示例,使用原始来源,程序在符号上运行并绘制立方体。并且新的图案文件是相同的样式,所以这不是问题。
有什么想法吗?我没有找到有用的视频,其中包含确切的方法
更详细:
首先,在我使用 mk_patt.exe 并给出项目的 'camera_para.dat' 之后,创建并添加了 'patt.slogo' 模式文件,我修改了这一行,以:
markerID = ARToolKit.getInstance().addMarker("single;Data/patt.slogo;80");
这里是画法的要点:
public void draw(GL10 gl) {
...
if (ARToolKit.getInstance().queryMarkerVisible(markerID)) {
cube.draw(GL10gl);
顺便说一下,这是来自 git 的 public 'kosiara' 示例:link
logcat的重点是:
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::startRunning(): called, start running
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source video configuration: "-format=NV21"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source camera parameters: "Data/camera_para.dat"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Opening Android Video Source.
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Using supplied video config "-format=NV21".
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Requesting images in NV21 format.
06-20 10:46:02.467 32096-32096/org.artoolkit.ar.samples I/ARActivity: Camera initialised
06-20 10:46:02.787 32096-32167/org.artoolkit.ar.samples V/RenderScript: 0xa0c63000 Launching thread(s), CPUs 4
06-20 10:46:03.264 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Loading single AR marker from file 'Data/patt.slogo', width 80.000000.
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]ARController::addMarker(): called
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::addMarker(): Added marker (UID=0), total markers loaded: 1, exiting, returning true
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples I/ARActivity: Scene configured successfully
06-20 10:46:03.274 32096-32212/org.artoolkit.ar.samples I/libar: cparamSearch beginning search for LGE/Nexus 5/hammerhead, camera 0, aspect ratio 16:9.
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1920x1080, focal length 0.00).
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1280x720, focal length 0.00).
06-20 10:46:03.695 32096-32096/org.artoolkit.ar.samples I/CameraPreview: Autofocused....
06-20 10:46:03.930 32096-32212/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Android Video Source running 1280x720.
06-20 10:46:03.961 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::initAR() called
我尝试了另一个模式文件并且它正在工作,但是当我创建关于符号的模式时的过程与现在相同,我不知道为什么程序无法识别我的符号使用相同的逻辑。
结论:最终程序使用了我用比以前更宽的线创建的另一个符号,这就是重点。
大家好我有一个关于AR技术的问题!
与我遇到问题的 ARToolKit 框架完全一致。 我做了教程中的所有操作,但应用程序无法识别我输入的符号。
教程页面:link
我创造了什么: - 关于符号 (filename.patt) 的模式文件并将其添加到 \Data\ 下的项目中 - 使用 mk_patt.exe 识别出我希望作为来源的图像。 - 修改来源:
markerID = ARToolKit.getInstance().addMarker("single;Data/patt.eslogo;80");
但我不知道我还需要做些什么。 顺便说一句,这是一个示例,使用原始来源,程序在符号上运行并绘制立方体。并且新的图案文件是相同的样式,所以这不是问题。
有什么想法吗?我没有找到有用的视频,其中包含确切的方法
更详细:
首先,在我使用 mk_patt.exe 并给出项目的 'camera_para.dat' 之后,创建并添加了 'patt.slogo' 模式文件,我修改了这一行,以:
markerID = ARToolKit.getInstance().addMarker("single;Data/patt.slogo;80");
这里是画法的要点:
public void draw(GL10 gl) {
...
if (ARToolKit.getInstance().queryMarkerVisible(markerID)) {
cube.draw(GL10gl);
顺便说一下,这是来自 git 的 public 'kosiara' 示例:link
logcat的重点是:
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::startRunning(): called, start running
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source video configuration: "-format=NV21"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): VideoSource::configure(): video Source camera parameters: "Data/camera_para.dat"
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Opening Android Video Source.
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Using supplied video config "-format=NV21".
06-20 10:46:02.454 32096-32096/org.artoolkit.ar.samples I/libar: Requesting images in NV21 format.
06-20 10:46:02.467 32096-32096/org.artoolkit.ar.samples I/ARActivity: Camera initialised
06-20 10:46:02.787 32096-32167/org.artoolkit.ar.samples V/RenderScript: 0xa0c63000 Launching thread(s), CPUs 4
06-20 10:46:03.264 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Loading single AR marker from file 'Data/patt.slogo', width 80.000000.
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]ARController::addMarker(): called
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::addMarker(): Added marker (UID=0), total markers loaded: 1, exiting, returning true
06-20 10:46:03.273 32096-32096/org.artoolkit.ar.samples I/ARActivity: Scene configured successfully
06-20 10:46:03.274 32096-32212/org.artoolkit.ar.samples I/libar: cparamSearch beginning search for LGE/Nexus 5/hammerhead, camera 0, aspect ratio 16:9.
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1920x1080, focal length 0.00).
06-20 10:46:03.275 32096-32212/org.artoolkit.ar.samples I/libar: Matched cached camera calibration record (1280x720, focal length 0.00).
06-20 10:46:03.695 32096-32096/org.artoolkit.ar.samples I/CameraPreview: Autofocused....
06-20 10:46:03.930 32096-32212/org.artoolkit.ar.samples E/libARWrapper: ARController (native): [error]Android Video Source running 1280x720.
06-20 10:46:03.961 32096-32096/org.artoolkit.ar.samples E/libARWrapper: ARController (native): ARController::initAR() called
我尝试了另一个模式文件并且它正在工作,但是当我创建关于符号的模式时的过程与现在相同,我不知道为什么程序无法识别我的符号使用相同的逻辑。
结论:最终程序使用了我用比以前更宽的线创建的另一个符号,这就是重点。