小编Tae*_*hin的帖子

如何使用低延迟的Android音频

问题:

您可能已经听说过,Android不提供低延迟音频API.低延迟音频的意思是你应该能够从麦克风获取音频信号并播放声音而中间没有太大的时间间隔(例如,5-7毫秒)

我尝试过旧的java(带有AudioRecord和AudioTrack)和"新的"OpenSL ES.它们非常糟糕,使应用程序无法使用.这个问题在这里有很好的记录.BTW,iOS API可以产生大约5-7毫秒的延迟.

寻找解决方法:

但无论如何,我正试图做低延迟音频.像这个答案描述的东西.

"但是,我只能通过编写我自己的内部混音代码并且只能播放最终的混合输出来访问低级音频播放API才能令人满意地实现这一目标.在.Net中播放声音的高级方式Compact Framework在理论上具有复音功能,但在实践中它们的工作非常糟糕(很多毛刺,口吃和失真)."

这对Android有意义吗?答案令人沮丧.

所以我的问题.Android真的没有办法实现10毫秒的音频延迟吗?

说实话,我不希望很快就会有解决方案,但只是希望一个伟大的思想能够解决这个问题.

audio android latency

7
推荐指数
1
解决办法
6579
查看次数

如何在没有Multiline ="true"或增加字体大小的情况下增加文本框的高度?

我需要调整文本框的高度,以便它适用于触摸屏.

我理解人们会推荐,Multiline = "true"但如果我这样做,那么盒子内部的文字是合理的,顶部在我的应用程序中是不合适的.

我试图调整字体大小,但是尺寸应该非常大,以满足我的需要.

有没有其他方法来增加文本框的高度?

c# textbox winforms

7
推荐指数
1
解决办法
8777
查看次数

易于编辑的matlab函数配置文件

与ini文件一样,我基本上希望有一个易于编辑的配置文件,可用于读取信息并将其分发到matlab对象中.我知道人们会推荐xml,但用户编辑的格式并不容易.任何人都可以有任何其他方式?

matlab

7
推荐指数
1
解决办法
5781
查看次数

如何在OpenCV中计算Mat的最大像素值

我想,这应该是显而易见的.但是我找不到简单的方法来在OpenCV的Mat中找到所有像素中的最大值.当然,我可以为每个像素类型执行以下操作.但一般的最大功能仍然有用.

double cvMax(cv::Mat& mat)
{
float max=0;
float* pData=(float*)mat.data;
for(int i=0;i<mat.rows;i++) 
{
    for(int j=0;j<mat.cols;j++)
    {
        float value = pData[j+i*mat.cols];
        if(value>max) 
        {
            max=value;
        }
    }
}
return max;
}
Run Code Online (Sandbox Code Playgroud)

c++ opencv

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

Qt应用程序的MV*模式有什么好处?

通过Qt应用程序,我的意思是使用Qt GUI的C++应用程序.我使用MVP for Android项目和Winform,MVC for ASP.NET MVC,MVVM for WPF/Silverlight/Javascript.但是现在,因为我需要开始学习Qt,对于Qt应用程序来说什么是MV*模式?

model-view-controller mvp qt mvvm

7
推荐指数
0
解决办法
4432
查看次数

使用PHP或Imagick获取图像ICC配置文件

我一直在努力解决这个问题并且惊讶于找不到任何文档!

我正在将图像上传到网站,并希望提取每个图像ICC配置文件的名称并在图像描述中使用它.到目前为止,标准PHP没有产生任何结果.我用Photoshop,Bridge和Exiftool检查了图像,每个人都识别出嵌入的配置文件.

<?php 
$info = exif_read_data($image);
echo 'ICC Profile: '.$info['ICC_Profile'].'<br>';
echo 'ICC Profile: '.$info['CurrentICCProfile'].'<br>';
echo 'ICC Profile: '.$info['ColorSpace'].'<br>';
?>
Run Code Online (Sandbox Code Playgroud)

Imagick产生了最好的结果:

$imagick = new Imagick();
$imagick->readImage($image);
print_r ($imagick->getImageProfiles("icc",true));
Run Code Online (Sandbox Code Playgroud)

生成实际提到配置文件但不是可用字符串的数组.任何帮助赞赏.

我正在使用这些版本:

PHP版本5.2.17 - imagick模块版本3.0.1 - ImageMagick版本6.7.6-8

print_r返回(对于'ProPhoto RGB'ICC配置文件):

数组([icc] => KCMSmntrRGBXYZ :acspMSFTKODAROMM + KODAcprtHdesc\wtpt rTRC gTRC bTRC rXYZgXYZbXYZ,dmnd @ndmdd mmod (textCopyright(c)Eastman Kodak Company,1999,all rights reserved.descProPhotoRGB ProPhotoRGBProPhotoRGBXYZ ,curv XYZ 4I XYZ" > XYZ -descKODAK KODAKKODAKdesc'Reference输出介质公制(ROMM)( 参考输出介质公制(ROMM) )'参考输出中度量(ROMM)mmod ; )

完整(来自Exiftool):

Profile CMM Type                : KCMS
Profile Version                 : 2.1.0
Profile Class …
Run Code Online (Sandbox Code Playgroud)

php image color-management imagick color-profile

7
推荐指数
1
解决办法
3558
查看次数

加速光流(createOptFlow_DualTVL1)

createOptFlow_DualTVL1()用来计算光流量,它正是我想要的,但它非常慢.有什么方法可以加快它的速度,还是有任何其他光流功能可以给我相同的结果,减少处理时间?我用过calcOpticalFlowFarneback(), cvGoodFeaturesToTrack()但质量不好.请帮忙.

提前谢谢以下是我的申请方式 createOptFlow_DualTVL1()

Ptr<DenseOpticalFlow> tvl1 = createOptFlow_DualTVL1();
tvl1->calc(Previous_Gray_Frame, Current_Gray_Frame, Optical_Flow);
Run Code Online (Sandbox Code Playgroud)

opencv opticalflow

7
推荐指数
1
解决办法
7161
查看次数

如何在一组任意像素值(而不是图像数据结构)上使用ICC配置文件执行颜色转换?

我想将一组像素值从一个配置文件颜色空间转换为另一个,而这些值不存在于图像文件中,例如(例如)RGB/RGBA/CMYK/etc数据结构列表.

我可以使用Python和PIL,但是如果需要的话,我对相关环境中的解决方案很感兴趣.

最新的PIL对LittleCMS提供了非常好的支持- 但是除了PIL图像(或传统的pyCMS对象)之外,没有任何办法可以处理它.

据我icctrans所知,LittleCMS附带的命令行工具可以做到这一点,但我似乎无法在其上找到任何非骨架文档,文档将其称为演示工具.

python colors color-space color-profile python-imaging-library

6
推荐指数
2
解决办法
3034
查看次数

如何在MFC视图上显示OpenCV Mat

我认为在MFC View上显示OpenCV2 Mat很简单,但事实并非如此.这只是我在谷歌上找到的相关资料.请原谅我的无知,但我找不到任何其他材料显示如何使用一维数组"数据"成员返回SetDIBitsToDevice.更具体地说,我需要知道如何为函数指定BITMAPINFO.我是否会回到旧C风格的OpenCV与MFC一起工作?

更新:

我找到了一个SetDIBitsToDevice的例子,它实际上是旧的C风格的OpenCV.但是将它转换为OpenCV2很简单.有些事情我需要提及才能使其发挥作用:

  1. 当Mat的深度返回0时,Bpp方法不能很好地工作.我只是改变了这样:

    static int Bpp(cv::Mat img) { return 8 * img.channels(); } 
    
    Run Code Online (Sandbox Code Playgroud)
  2. Mat没有原始成员.但是简单地将0设置为FillBitmapInfo方法的origin参数就可以了.

除此之外,以下代码工作得很好.希望这也有助于其他开发者.

void COpenCVTestView::OnDraw(CDC* pDC)
{
COpenCVTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
    return;
if(pDoc->m_cvImage.empty()) return;
// TODO: add draw code for native data here
int height=pDoc->m_cvImage.rows;
int width=pDoc->m_cvImage.cols;
uchar buffer[sizeof( BITMAPINFOHEADER ) + 1024]; 
BITMAPINFO* bmi = (BITMAPINFO* )buffer; 
FillBitmapInfo(bmi,width,height,Bpp(pDoc->m_cvImage),0);
SetDIBitsToDevice(pDC->GetSafeHdc(), 0, 0, width,
    height, 0, 0, 0, height, pDoc->m_cvImage.data, bmi,
    DIB_RGB_COLORS);
}
void COpenCVTestView::FillBitmapInfo(BITMAPINFO* bmi, int width, int …
Run Code Online (Sandbox Code Playgroud)

c++ mfc opencv

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

从C++中的字节数组中提取非零索引的最快方法是什么

我有一个字节数组

unsigned char* array=new unsigned char[4000000];
 ...
Run Code Online (Sandbox Code Playgroud)

我想得到数组中所有非零元素的索引.

当然,我可以做到以下

for(int i=0;i<size;i++)
{
    if(array[i]!=0) somevector.push_back(i);
}
Run Code Online (Sandbox Code Playgroud)

有比这更快的算法吗?

更新1我可以看到多数回答是否定的.我希望有一些我不知道的神奇位操作.有些人建议排序,但在这种情况下并不可行.但是非常感谢你的所有答案.

更新2自此问题发布4年零4个月后,@ wim建议这个答案看起来很有希望.

c++ algorithm

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