小编gun*_*yim的帖子

将c ++原始类型向量转换为java原始类型数组

我使用的是第三方C++ API为我的项目,它有返回值的功能与类型std::vector<int>,std::vector<bool>,std::vector<double>.我需要将这些类型的变量传递给Java.所以我使用JNI和我的功能与类型的返回值jintArray,jbooleanArray,jdoubleArray.

我正在使用以下代码转换double类型:

std::vector<double> data;
//fill data
jdouble *outArray = &data[0];
jdoubleArray outJNIArray = (*env).NewDoubleArray(data.size());  // allocate
if (NULL == outJNIArray) return NULL;
(*env).SetDoubleArrayRegion(outJNIArray, 0 , data.size(), outArray);  // copy
return outJNIArray;
Run Code Online (Sandbox Code Playgroud)

我对这个代码块没问题.但是,当我想要为类型intbool类型执行此操作时,存在以下问题:

std::vector<int> data;
//fill data
jint *outArray = &data[0];
Run Code Online (Sandbox Code Playgroud)

std::vector<bool> data;
//fill data
jboolean *outArray = &data[0];
Run Code Online (Sandbox Code Playgroud)

问题是定义jintjboolean,因为:

typedef long            jint;
typedef unsigned char   jboolean; …
Run Code Online (Sandbox Code Playgroud)

c++ java primitive java-native-interface

6
推荐指数
1
解决办法
828
查看次数

MATLAB中的BRISK和FREAK描述符

我正在使用MATLAB 2014a来提取BRISKFREAK描述符.我找不到任何将位串大小减小到128256的选项,它们都生成为512位.我认为FREAK不允许这种算法,但BRISK应该允许.有谁知道我是否可以减少BRISK描述符的维度?如果是,我该怎么办?

谢谢

matlab feature-extraction computer-vision freak matlab-cvst

6
推荐指数
1
解决办法
1404
查看次数

修剪mp4文件而不再对其进行编码

我有一个.mp4视频文件,我需要修剪它,但不管我怎么做,修剪后的视频再次被编码,导致视频噪声.

我尝试过的:

  1. 使用Matlab打开视频,读取帧并仅写入我想要在修剪视频中的帧,我使用'MPEG-4'选项.

  2. 使用Windows Movie Maker修剪视频.

  3. 使用VirtualDub修剪视频.

在前两个场景中,原始mp4电影在修剪后再次编码.我无法在VirtualDub中打开mp4文件.

那么在不重新录制视频的情况下修剪视频最简单的方法是什么?

video matlab encoding ffmpeg trim

6
推荐指数
1
解决办法
1258
查看次数

UIImage cv::Mat 与 alpha 通道的转换

我使用以下代码进行相互UIImage*转换:cv::Mat

- (cv::Mat)cvMatFromUIImage:(UIImage *)image
{
  CGColorSpaceRef colorSpace = CGImageGetColorSpace(image.CGImage);
  CGFloat cols = image.size.width;
  CGFloat rows = image.size.height;

  cv::Mat cvMat(rows, cols, CV_8UC4); // 8 bits per component, 4 channels (color channels + alpha)

  CGContextRef contextRef = CGBitmapContextCreate(cvMat.data,                 // Pointer to  data
                                                 cols,                       // Width of bitmap
                                                 rows,                       // Height of bitmap
                                                 8,                          // Bits per component
                                                 cvMat.step[0],              // Bytes per row
                                                 colorSpace,                 // Colorspace
                                                 kCGImageAlphaNoneSkipLast |
                                                 kCGBitmapByteOrderDefault); // Bitmap info flags

  CGContextDrawImage(contextRef, CGRectMake(0, 0, cols, rows), image.CGImage);
  CGContextRelease(contextRef); …
Run Code Online (Sandbox Code Playgroud)

opencv objective-c uiimage ios

6
推荐指数
1
解决办法
1906
查看次数

OpenCV中的重叠人脸检测

首先,让我提供一些有关我正在尝试做的事情的信息。

我正在使用配置文件解决人脸验证问题,我的第一步是人脸检测。我正在使用带有“haarcascade_profileface.xml”的 OpenCV 人脸检测器。问题是,检测器无法始终如一地找到人脸。不一致我的意思是,它在某个区域找到一张脸,但有时它发现脸更大,有时更小,有时两者兼而有之。我希望它始终找到与人脸相同的区域。

我正在添加一些图像来更好地说明我的问题。您可以在此处找到它们。

我应该怎么做才能克服同一区域中的这种多重人脸检测(重叠人脸检测)?

我想到的第一件事是增加 minNeighbors 参数,但这会导致检测率下降,所以我不想这样做。然后我想在面部图像上应用一些图像稳定算法,但我认为它会太昂贵。如果有人能给我一些克服这个问题的建议,我会很高兴。

我应该提到我使用的是 OpenCV 2.4.5 并且我将 minNeighbor 参数设置为 4,scaleFactor 是 1.75 并且没有设置任何大小限制。

提前致谢,

问候,

居内

opencv face-detection overlapping

5
推荐指数
1
解决办法
1683
查看次数

使用sysdate更改表名

我想通过附加更改表名SYSDATE.例如,我想将表更改EXAMPLE_TABLEEXAMPLE_TABLE_05_01_2015,但我想从中获取日期SYSDATE.

我准备了以下但是它不起作用:

ALTER TABLE "MYDB"."EXAMPLE_TABLE" rename to (SELECT 'EXAMPLE_TABLE' || TO_CHAR(SYSDATE, '_dd_MM_yyyy') FROM DUAL);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它工作?

这是错误:

SQL Error: ORA-14047: ALTER TABLE|INDEX RENAME may not be combined with other operations
14047. 00000 -  "ALTER TABLE|INDEX RENAME may not be combined with other operations"
*Cause:    ALTER TABLE or ALTER INDEX statement attempted to combine
           a RENAME operation with some other operation which is illegal
*Action:   Ensure that RENAME operation is the sole operation specified …
Run Code Online (Sandbox Code Playgroud)

sql oracle

5
推荐指数
1
解决办法
1083
查看次数

iPhone 5/6返回不同的CLHeading magneticHeading值

以下代码段为iPhone 5和iPhone 6输出不同的值,位置相同.可能是什么原因?

两个不同的iPhone 5输出几乎相同的值,但iPhone 6输出任意值,就像它的引用总是在变化一样.我也试过用另外的iPhone 6+,它与iPhone 6有类似的行为.我错过了一些关于最新iPhone的东西吗?

-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    NSLog(@"heading: %lf" , newHeading.magneticHeading);
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c core-location ios

5
推荐指数
0
解决办法
122
查看次数

将 Quartz 作业定义从 XML 转换为数据源

我目前正在使用 Quartz 来执行作业调度任务,方法是通过文件jobs.xml中的以下行进行配置:quartz.properties

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
Run Code Online (Sandbox Code Playgroud)

现在,我想将我的工作存储在数据源中。我已将quartz.properties文件更改如下:

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
Run Code Online (Sandbox Code Playgroud)

我还在数据库中进行了所有其他配置更改quartz.properties,并使一切正常工作。问题是,我所有的作业和触发器都已写入jobs.xml,我需要以某种方式将它们导入数据库。

我能想到的唯一解决方案是通过 Java 代码创建作业和触发器并重新安排一切。但是,如果有像通过读取jobs.xml文件将所有作业和触发器导入数据库之类的东西,那就太好了。

有谁知道是否有类似的事情?我知道我可以编写一个程序来执行此操作,但如果已经有一个已实现的程序,我仍然想利用它。

谢谢

java quartz-scheduler job-scheduling

5
推荐指数
0
解决办法
303
查看次数

模拟设备背光对人类图像感知的影响

即使我们在设备(例如iPad)中看到完全相同的图像,当背光不同时我们也会感觉它们不同.例如,如果我们查看以下两个图像,它们都是相同的图像,但后者没有背光(忽略反射),我们认为它不同.我的问题是如何模拟没有背光的效果,而不是实际调暗而是使用原始图像?也许应用某种半透明的黑色面膜?

全背光 在此输入图像描述

没有背光 在此输入图像描述

image-manipulation image image-processing

5
推荐指数
1
解决办法
72
查看次数

如何使用BOW选择适当的正负训练图像集进行图像分类

我尝试使用SVM分类和BoW聚类算法实现实时对象分类程序.我的问题是选择正面和负面训练图像的好方法是什么?

正面图像集

  • 背景应该是空的吗?意思是,图像是否只包含感兴趣的对象?当实时实现该算法时,测试图像将不仅包含感兴趣的对象,它肯定也会从背景中获得一些信息.因此,我应该选择看起来更像测试图像的图像,而不是使用孤立的图像集合吗?

负图像集

  • 这些可以是没有感兴趣对象的任何图像集吗?或者它们应该来自将在没有感兴趣对象的情况下测试该算法的环境?例如,如果我要在我的起居室环境中对手机进行分类,那么如果没有手机在前台,我的起居室环境的背景图像是否应该是负片?或者它可以是任何图像集?(像厨房,客厅,卧室或户外图像)我问这个因为,我不希望系统是特定于环境的.在任何环境(室内和室外)都必须坚固耐用

谢谢.非常感谢任何帮助或建议.

machine-learning svm computer-vision

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

OpenCV Java JNIEXPORT内存管理

我对OpenCV的java端口的内存管理有一个疑问.

JNIEXPORT jlong JNICALL Java_org_opencv_core_Mat_n_1Mat__III
          (JNIEnv* env, jclass, jint rows, jint cols, jint type)
        {
            try {
                LOGD("Mat::n_1Mat__III()");

                Mat* _retval_ = new Mat( rows, cols, type );

                return (jlong) _retval_;
            } catch(cv::Exception e) {
                LOGD("Mat::n_1Mat__III() catched cv::Exception: %s", e.what());
                jclass je = env->FindClass("org/opencv/core/CvException");
                if(!je) je = env->FindClass("java/lang/Exception");
                env->ThrowNew(je, e.what());
                return 0;
            } catch (...) {
                LOGD("Mat::n_1Mat__III() catched unknown exception (...)");
                jclass je = env->FindClass("java/lang/Exception");
                env->ThrowNew(je, "Unknown exception in JNI code {Mat::n_1Mat__III()}");
                return 0;
            }
        }
Run Code Online (Sandbox Code Playgroud)

此代码块取自'..\OpenCV-2.4.5\modules\java\generator\src\cpp\Mat.cpp'.我的问题是关于以下部分:

Mat* _retval_ = new …
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface opencv

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

OpenCV图像从RGB转换为灰度异常

当我尝试将RGB图像转换为灰度时,我得到一个奇怪的异常(异常:在内存位置0x002EB6CC处的cv :: Exception).有人能帮我吗?

  const cv::Mat img1 = cv::imread(filename, 0)
  cv::Mat gs_rgb(img1.size(), CV_8UC1);
  cv::cvtColor(img1, gs_rgb, CV_RGB2GRAY);
Run Code Online (Sandbox Code Playgroud)

opencv

-1
推荐指数
1
解决办法
747
查看次数