小编1''*_*1''的帖子

显示图像并转换为灰度 - OpenCV for Android,Java API

我在Eclipse中编写了一个使用OpenCV4Android API 的Android应用程序.如何Mat轻松显示图像,仅用于调试?在C++中,根据OpenCV教程,您可以执行以下操作:

namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
Run Code Online (Sandbox Code Playgroud)

但Android的Java API似乎没有namedWindow内部功能org.opencv.highgui.Highgui.

另外,我想将图像加载为灰度.在C++中,根据imread不在Opencv中工作,你会做:

imread("blackandwhite.jpg", 0);
Run Code Online (Sandbox Code Playgroud)

但Java API Highgui.imread()只有filename参数.

java android opencv image

3
推荐指数
1
解决办法
2万
查看次数

构造函数哪种方式最好?

构造类有两种方法:

  class Cell{
  public:
        Cell(int cellID, int nx);
        ~Cell();
  private:
        int cellID_;
        int nx;
  };
Run Code Online (Sandbox Code Playgroud)

第一种方式:

  Cell::Cell(int cellID, int nx)
    : cellID_(cellID), nx_(nx){}
Run Code Online (Sandbox Code Playgroud)

第二种方式:

  Cell::Cell(int cellID, int nx){init(cellID, nx)}

  void Cell::init(int cellID, int nx){
         cellID_ = cellID;
         nx_ = nx;
  }
Run Code Online (Sandbox Code Playgroud)

c++ constructor

3
推荐指数
2
解决办法
92
查看次数

OpenCV中的高通滤波

要在OpenCV中创建3x3高通滤波器内核,我使用以下代码(对于Android):

Mat kernel = new Mat(3, 3, CvType.CV_32FC1);
float[] data = {0, -1, 0, -1, 4, -1, 0, -1, 0};
kernel.put(0, 0, data);
Run Code Online (Sandbox Code Playgroud)

然后我使用内核过滤:

Imgproc.filter2D(image, image, -1, kernel);
Run Code Online (Sandbox Code Playgroud)

有没有办法在OpenCV中自动生成更大的高通内核?

opencv image-processing

3
推荐指数
1
解决办法
2万
查看次数

Valgrind相当于OpenCL

要检查CPU上的内存访问冲突,可以使用Valgrind/memcheck; 对于GPU上的CUDA代码,有CUDA memcheck.是否有相当于OpenCL的这些工具?

valgrind gpu gpgpu opencl

3
推荐指数
1
解决办法
1338
查看次数

PHP和mySQL单引号还是双引号?

我没有看到使用单引号或双引号有任何区别.什么时候或为什么我应该使用第一个而不是后者?

我已经阅读了一些针对SQL的地方我应该使用单打 - 为什么?

php mysql sql

2
推荐指数
1
解决办法
7732
查看次数

OpenCV Android - 将MatOfPoint转换为Mat

我想将使用Imgproc.findContours找到的MatOfPoint转换为(二进制)Mat.我知道有一种方法可以进行反向转换(只需使用构造函数MatOfPoint(Mat m))但是有没有内置的方法来进行这种转换?如果没有,那么逐元素转换的正确方法是什么.谢谢!

android opencv

2
推荐指数
1
解决办法
6183
查看次数

Android - 重构后的ClassNotFoundException

我最近使用Eclipse的重构命令在我的应用程序(它当前称为MyApp)中重构了类,包和文件夹名称,并且我没有得到ClassNotFoundException.我已经确保在代码库中的任何地方都没有旧名称的实例.我还删除了所有类文件\bin\classes和生成的Java文件\gen(两者都已重新生成,我已经检查过).我还将API级别从16更新到17,以尝试解决问题.这是堆栈跟踪:

12-22 17:00:46.690: E/AndroidRuntime(25466): FATAL EXCEPTION: main
12-22 17:00:46.690: E/AndroidRuntime(25466): java.lang.RuntimeException: Unable to instantiate application com.myapp.MyApp: java.lang.ClassNotFoundException: Didn't find class "com.myapp.MyApp" on path: /data/app/com.myapp-2.apk
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.app.ActivityThread.access$1300(ActivityThread.java:141)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.os.Looper.loop(Looper.java:137)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at android.app.ActivityThread.main(ActivityThread.java:5039)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at java.lang.reflect.Method.invokeNative(Native Method)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at java.lang.reflect.Method.invoke(Method.java:511)
12-22 17:00:46.690: E/AndroidRuntime(25466):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-22 …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception

2
推荐指数
1
解决办法
4972
查看次数

Android - match_parent忽略layout_margin

我的活动有一个LinearLayout单独的儿童视图.我希望两者都填满屏幕,减去12 dp的余量.

不幸的是,子视图被绘制为12 dp太大而被切断.显然在计算子视图的大小时match_parent忽略该layout_margin属性.解决这个问题最简单的方法是什么?

myActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_margin="12dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <com.myapp.myView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

myActivity.java

package com.myapp;

import android.app.Activity;
import android.os.Bundle;

public class myActivity extends Activity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myActivity);
    }
}
Run Code Online (Sandbox Code Playgroud)

myView.java

package com.myapp;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class myView extends View {

    private Paint paint = new Paint();

    public myView(Context context, AttributeSet attrs) {
        super(context, …
Run Code Online (Sandbox Code Playgroud)

android android-layout

2
推荐指数
1
解决办法
6231
查看次数

正确,高效的文件读取

我想一次一个地从CSV文件的第一行读取和处理(例如打印)条目.我假设Unix风格的\n换行符,没有条目超过255个字符,并且(现在)在EOF之前有一个换行符.这意味着是一个更有效的替代fgets(),接着strtok().

#include <stdio.h>
#include <string.h>

int main() {
    int i;
    char ch, buf[256];
    FILE *fp = fopen("test.csv", "r");

    for (;;) {
        for (i = 0; ; i++) {
            ch = fgetc(fp);
            if (ch == ',') {
                buf[i] = '\0'; 
                puts(buf);
                break;
            } else if (ch == '\n') {
                buf[i] = '\0'; 
                puts(buf);
                fclose(fp);
                return 0;
            } else buf[i] = ch;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 这种方法是否尽可能高效和正确?
  2. 使用此方法测试EOF和文件读取错误的最佳方法是什么?(可能性:测试针对字符宏EOF,feof(),ferror()等等).
  3. 我可以使用C++文件I/O执行相同的任务而不会降低效率吗?

c c++ file-io

2
推荐指数
1
解决办法
1218
查看次数

Seaborn boxplot 中的框坐标

这个例子扩展到这里,展示了如何在 Matplotlib 中标记条形图;类似的想法可用于标记箱线图。它依赖于知道由 barplot 函数返回的条形的 x 和 y 坐标。我怎样才能对Seaborn 箱线图做同样的事情?不幸的是,Seaborn 不会返回这些坐标。

python matplotlib seaborn

2
推荐指数
1
解决办法
1351
查看次数