Android和OpenCV的新版本。正在尝试实现新书中的代码,用实际的计算机视觉项目掌握OpenCV。这个应用程序基本上是用OpenCV在相机预览中渲染卡通化的图像。你可以触摸屏幕来保存卡通化的图像。
来自作者的源代码位于此处。
我对CartoonifierApp.java文件做了一个小修改(见下文),这样我就可以用OpenCV Manager应用程序静态加载cartoonifier库(原始代码抛出了一个UnsatisfiedLinkError)。
我不知道怎么解决这个问题。我找到的唯一有用的建议就是这里。如果我在catoonifiervewbase.java中替换我setPreview方法
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
mCamera.setPreviewTexture( new SurfaceTexture(10) );
else
mCamera.setPreviewDisplay(null);
与
mCamera.setPreviewDisplay(mHolder);
然后发生的是相机工作正常,我可以通过触摸屏幕保存卡通化的图像。注意,这不完全是期望的结果,因为我想要连续卡通图像在相机预览。相机是工作的,因为我不是写的表面视图(至少这是我的理解)。在前面提到的网站的答案有一些变通办法,但我不知道他在说什么。
15:33:08.193:d/OpenCvManager/Helper(5999):OpenCV库初始化正常!
12-22 15:33:08.193:D/OpenCvManager/Helper(5999):第一次尝试加载库成功12-22 15:33:08.193:D/OpenCvManager/Helper(5999):已完成初始化,状态为0 12-22 15:33:08.193:D/OpenCvManager/Helper(5999):取消与服务的绑定12-22 15:33:08.200:D/OpenCvManager/Helper(5999):使用回调进行调用12-22 15:33:08.200:I/CartoonifierApp(5999):已成功加载OpenCV
12-22 15:33:08.200:D/Dalvikvm(5999):尝试加载lib/data/data/com.cartoonifier/lib/libcartoonifier.so 0x41936A40 12-22
15:33:08.200:D/Dalvikvm(5999):添加共享lib/data/data/com.cartoonifier/lib/libcartoonifier.so 0x41936A40 12-22
15:33:08.200:D/DalvikVM(5999):在/data/data/com.cartoonifier/lib/libcartoonifier.so 0x41936A40,跳过init 12-22 15:33:08.200:D/OpenCvManager/Helper(5999):创建服务连接12-22 15:33:08.200:D/OpenCvManager/Helper(5999):尝试获取库路径12-22
15:33:08.232:d/OpenCvManager/Helper(5999):尝试获取库列表12-22 15:33:08.271:d/OpenCvManager/Helper(5999):库列表:“”
12-22 15:33:08.271:D/OpenCvManager/Helper(5999):第一次尝试加载库12-22 15:33:08.271:D/OpenCvManager/Helper(5999):尝试
init OpenCV libs 12-22 15:33:08.271:d/OpenCvManager/helper(5999):尝试加载库/data/data/org.OpenCV.engine/lib/libopencv_java.so 12-22 15:33:08.271:d/dalvikvm(5999):尝试加载lib/data/data/org.OpenCV.engine/lib/libopencv_java.so 0x41936A40 12-22
15:33:08.271:d/dalvikvm(5999):共享库'/data/data/org.OpenCV.engine/lib/libopencv_java.so'已经加载到同一个CL 0x41936A40 12-22 15:33:08.271:d/opencvmanager/helper(5999):OpenCV库初始化正常!12-22 15:33:08.271:D/OpenCvManager/Helper(5999):第一次尝试加载库可以
12-22 15:33:08.333:I/dalvikvm-heap(5999):将堆(frag大小写)增长到11.902MB,以分配1382416字节
12-22 15:33:08.357:D/DalvikVM(5999):GC_CONCURRENT释放1K,3%释放12156K/12423K,暂停12ms+1ms,总计24ms
12-22 15:33:08.357:D/DalvikVM(5999):WAIT_FOR_CONCURRENT_GC阻塞11ms
12-22 15:33:08.365:D/DALVIKVM(5999):GC_FOR_ALLOC释放0K,3%释放12156K/12423K,暂停9ms,总计9ms
12-22 15:33:08.372:I/dalvikvm-heap(5999):将堆(frag大小写)增长到13.219MB,用于1382416字节分配
12-22 15:33:08.388:D/DalvikVM(5999):WAIT_FOR_CONCURRENT_GC阻塞7ms
12-22 15:33:08.404:D/DalvikVM(5999):GC_FOR_ALLOC释放<1K,3%释放13506K/13831K,暂停9ms,总计10ms
12-22 15:33:08.411:I/dalvikvm-heap(5999):将堆(frag大小写)增长到16.735MB,用于3686416字节分配
12-22 15:33:08.427:D/DalvikVM(5999):WAIT_FOR_CONCURRENT_GC阻塞10ms
12-22 15:33:08.443:D/DalvikVM(5999):GC_FOR_ALLOC释放<1K,3%释放17106K/17479K,暂停10ms,总计10ms
12-22 15:33:08.450:I/dalvikvm-heap(5999):将堆(frag大小写)增长到20.250MB,用于3686416字节分配
12-22 15:33:08.466:D/DalvikVM(5999):WAIT_FOR_CONCURRENT_GC阻塞5ms
12-22 15:33:08.466:I/Cartoonifier::SurfaceView(5999):开始预览
12-22 15:33:08.497:E/BufferQueue(5999):[unnamed-5999-0]SetBufferCount:SurfaceTexture已放弃!
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i(TAG, "OpenCV loaded successfully");
// Load native library after(!) OpenCV initialization
System.loadLibrary("cartoonifier");
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "called onCreate");
super.onCreate(savedInstanceState);
Log.i(TAG, "Trying to load OpenCV library");
if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback))
{
Log.e(TAG, "Cannot connect to OpenCV Manager");
}
requestWindowFeature(Window.FEATURE_NO_TITLE);
mView = new CartoonifierView(this);
setContentView(mView);
// Call our "onTouch()" callback function whenever the user touches the screen.
mView.setOnTouchListener(this);
}
@Override
protected void onPause() {
Log.i(TAG, "onPause");
super.onPause();
mView.releaseCamera();
}
@Override
public void onResume()
{
super.onResume();
Log.i(TAG, "onResume");
if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback))
{
Log.e(TAG, "Cannot connect to OpenCV Manager");
}
if( !mView.openCamera() ) {
AlertDialog ad = new AlertDialog.Builder(this).create();
ad.setCancelable(false); // This blocks the 'BACK' button
ad.setMessage("Fatal error: can't open camera!");
/*ad.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
}); */
ad.show();
}
}
这个问题已经在OpenCV中解决了。
不确定是应用程序还是操作系统错误。问题是调用Bitmap.CreateBitmap
会分离用于可视化的SurfaceTexture
对象。
解决方法是修改基本view
类的setupCamera方法并更改
try {
setPreview();
} catch (IOException e) {
Log.e(TAG, "mCamera.setPreviewDisplay/setPreviewTexture fails: " + e);
}
/* Notify that the preview is about to be started and deliver preview size */
onPreviewStarted(params.getPreviewSize().width, params.getPreviewSize().height);
/* Notify that the preview is about to be started and deliver preview size */
onPreviewStarted(params.getPreviewSize().width, params.getPreviewSize().height);
try {
setPreview();
} catch (IOException e) {
Log.e(TAG, "mCamera.setPreviewDisplay/setPreviewTexture fails: " + e);
}
我有一个在Tomcat 9中运行的程序。 当我重新启动该问题时,它显示了上述警告: Tomcat版本: Tomcat 9 JVM: java-8-openjdk-amd64 MySQL驱动程序: mysql连接器-java-8.0.20 服务器xml 我已经试着把server.xml变成 但是Catalina.out.仍然有警告 有解决这个问题的指南吗? 非常感谢。
这是我的全部剧本 运行时产生: 我刚刚经历了更新的一切: 壁虎河:0.29.0 我已经搜索了几个关于同一个错误的问题,但仍然完全不知道这里的问题是什么。我几乎什么都没做。这是Selenium Python的开始示例,或者至少是开始示例的开始。
这是我的代码,意味着在 youtube 上进行搜索测试,但是当我运行它时,youtube 打开并收到一条错误消息,说“弃用警告:executable_path已被弃用,请传入服务对象。我的chromedriver与我的python文件位于同一文件夹中。
问题内容: 我试图通过发送一个整数,但我不断收到此错误 表达已弃用的res.send(status):改用res.sendStatus(status) 我没有发送状态,我的代码是 问题答案: 您可以尝试以下方法: 伙计们是正确的- 它不允许数字。证明链接:http://expressjs.com/4x/api.html#res.send
deprecated:mysql_connect():mysql扩展不推荐使用,以后将删除:在/home/website/public_html/wp-includes/wp-db.php第1568行中使用mysqli或PDO 警告:不能修改标题信息--标题已经由第1195行/home/website/public_html/wp-includes/pluggable.php中的/home/web
cmake-d cmake_build_type=release-d cmake_install_prefix=/usr/local-d with_tbb=on-d build_new_python_support=on-d with_v4l=on-d install_c_examples=on-d install_python_examples=on-d build_examples=on-d