我正在编写代码来从camerapreview中的drawable中找到类似的对象.我使用的是最新的Opencv 2.4.4.
下面是我的函数和logcat的输出.我得到这样的输出我做错了什么?
public void detect_image (Mat mRgba) {
object_desc = new Mat();
scene_desc = new Mat();
object_keys = new MatOfKeyPoint();
scene_keys = new MatOfKeyPoint();
matches = new MatOfDMatch();
good_matches = new MatOfDMatch();
Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.sto);
Utils.bitmapToMat(image,object);
surf = FeatureDetector.create(FeatureDetector.FAST);
surf.detect( object, object_keys );
surf.detect( mRgba, scene_keys);
surfEX = DescriptorExtractor.create(DescriptorExtractor.BRIEF);
surfEX.compute(object, object_keys, object_desc);
surfEX.compute(mRgba, scene_keys, scene_desc);
dm = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_SL2);
dm.match(object_desc, scene_desc, matches);
double max_dist = 0;
double min_dist = 100;
for( int i = 0; i < object_desc.rows(); …Run Code Online (Sandbox Code Playgroud) 我想将音频文件解码为原始PCM数据,以将其流式传输到本地网络中的播放设备.我使用了引入API级别16 的新MediaExtractor和MediaCodec类.该器件要求PCM数据为44,100 kHz,有2个通道和16位样本大小.只要输入文件大致符合这些要求,这就可以正常工作.但是,无论何时我正在解码使用的文件 - 例如 - 32,000 kHz的采样率并且可能只有一个通道,那么我无法从MediaCodec类获得所需的输出.
因为我似乎无法指定MediaCodec类的输出格式.所以我决定实例化另一个MediaCodec对象,将原始数据重新编码为我想要的格式.根据Android 4.1 支持的媒体格式列表,Android支持编码到PCM/Wave.但是我无法创建编码为PCM/Wave的MediaCodec对象.我尝试将各种MIME类型传递给MediaCodec.createEncoderByType(type); 但我总是以IOException失败:
java.io.IOException: Failed to allocate component instance
at android.media.MediaCodec.native_setup(Native Method)
at android.media.MediaCodec.<init>(MediaCodec.java:210)
at android.media.MediaCodec.createEncoderByType(MediaCodec.java:194)
[..]
Run Code Online (Sandbox Code Playgroud)
有没有人能够成功创建编码为PCM/Wave的MediaCodec实例并且可以为我提供一个工作示例?