小编Hyn*_*rix的帖子

当我在ListBox中有图像时,为什么会出现OutOfMemoryException?

我想在我的自定义库中显示存储在Windows Phone 8照片文件夹中的所有图像,该图库ListBox用于显示图像.

ListBox代码如下:

    <phone:PhoneApplicationPage.Resources>
        <MyApp:PreviewPictureConverter x:Key="PreviewPictureConverter" />
    </phone:PhoneApplicationPage.Resources>

    <ListBox Name="previewImageListbox" VirtualizingStackPanel.VirtualizationMode="Recycling">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel CleanUpVirtualizedItemEvent="VirtualizingStackPanel_CleanUpVirtualizedItemEvent_1">
                </VirtualizingStackPanel>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Image Source="{Binding Converter={StaticResource PreviewPictureConverter}}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
     </ListBox>
Run Code Online (Sandbox Code Playgroud)

使用以下转换器:

public class PreviewPictureConverter : System.Windows.Data.IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        PreviewImageItem c = value as PreviewImageItem;
        if (c == null)
            return null;
        return c.ImageData;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) …
Run Code Online (Sandbox Code Playgroud)

c# listbox out-of-memory photo-gallery windows-phone-8

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

Google Play和OpenSSL警告消息

我刚刚收到来自Google Play的电子邮件,说明:

你好,

您的一个或多个应用程序运行的是过时的OpenSSL版本,该版本存在多个安全漏洞.您应该尽快更新OpenSSL.有关OpenSSL中最新安全漏洞的更多信息,请访问 http://www.openssl.org/news/secadv_20140605.txt.

请注意,虽然尚不清楚这些特定问题是否会影响您的应用程序,但是具有漏洞的应用程序可能会将用户置于危险之中,可能被视为"危险产品",并且可能会从Google Play中删除.

问候,

Google Play团队

©2014 Google Inc. 1600 Amphitheatre Parkway Mountain View,CA 94043

电子邮件偏好设置:我们向您发送这封必读的电子邮件服务通告,目的是让您了解Google Play帐户的重大变化.

我没有在任何应用程序中明确包含OpenSSL.使用Android NDK的应用程序正在使用NDK 9d(最新版本).我使用的唯一外部本机库是ffmpeg和OpenCV以及一些没有包含本机代码的广告库.

还有哪些地方可以包含OpenSSL导致此警告?

问候,

android openssl android-ndk google-play

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

Windows Phone 8:媒体文件访问

是否有办法从Windows Phone 8中的默认音频/视频文件夹访问音频和视频文件?我已经检查了这个文档但是WP8上没有实现所有方法(例如KnownFolders.MusicLibrary):http://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx

我需要访问原始文件数据.如果从C#无法访问来自Windows Phone Runtime或纯C++的数据也可以.

c# c++ file-io windows-runtime windows-phone-8

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

Android:Intent.EXTRA_ALLOW_MULTIPLE只允许单一选择

我想使用"Intent.EXTRA_ALLOW_MULTIPLE"意图过滤器从Android库中打开多个图像:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
    final Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("image/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
    startActivityForResult(Intent.createChooser(intent, "Add images"), SELECT_MULTIPLE_IMAGES);
}
Run Code Online (Sandbox Code Playgroud)

但无论我使用什么应用程序(原生图库,QuickPic应用程序),我只能选择一张图片.测试设备运行的是Android 5.1.

如何选择多张图片?

android image-gallery android-intent

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

Android Studio:保持项目文件树状态扩展

我使用的是最新版本的Android Studio.每次我关闭Android Studio或开始调试/执行项目时,"Project Files"树都会崩溃.

是否有设置保持树在当前状态下扩展或再次扩展整个树?

问候,

android intellij-idea android-studio

9
推荐指数
2
解决办法
1550
查看次数

用于读取音频文件的库

我想在线/现场处理音频,我不断从音频文件中读取音频样本,处理这些音频样本(例如应用一些效果),并将处理后的样本转发到音频输出设备,如声卡.输入文件有常见的格式,如wav,mp3,甚至ogg.

是否有类似于libav/ffmpeg的库可用于音频文件,它简化了各种音频格式的读取并为我提供了源源不断的原始音频样本?或者是为每种格式使用单个库的最佳解决方案?这些库应该是c/c ++和cross-plattform兼容的(Mac,Win,Linux,ARM).

编辑感谢您的所有答案.我已经评估了所有库并得出结论,最好只坚持使用libav/ffmpeg,因为大多数库都需要ffmpeg作为后端.

c c++ mp3 wav audio-processing

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

提高Tesseract检测质量

我正在尝试从用消费者相机(包括移动电话)拍摄的图像中提取不形成有意义字的字母数字字符(a-z0-9).字符具有相同的大小和字体类型,并且不格式化.实际处理在Windows下完成.

下图显示了原始输入: 原始图像

透视处理后,我将以下内容应用于OpenCV:

  • 从RGB转换为灰色
  • 适用cv::medianBlur于去除噪音
  • 使用自适应阈值将图像转换为二进制 cv::adaptiveThreshold
  • 我知道网格的行数和列数.因此,我只使用此信息提取每个网格单元.

完成所有这些步骤后,我得到的图像与以下相似:

在此输入图像描述

在此输入图像描述

在此输入图像描述

然后我分别在每个提取的细胞图像上运行tesseract(带有最新训练数据的最新SVN版本)(我尝试了不同的-psm-l值):

tesseract.exe -l eng -psm 11 sample.png outtext
Run Code Online (Sandbox Code Playgroud)

tesseract产生的结果不是很好:

  • 大多数字符无法识别.
  • 网格线有时被解释为"l"或"i"字符.

我已经尝试过形态学操作(开放,闭合,侵蚀,扩张)并用OTSU阈值(THRESH_OTSU)替换自适应阈值,但结果变得更糟.

还有什么可以尝试提高识别质量?或者除了使用tesseract之外,还有更好的方法来提取字符(例如模板匹配?)?

编辑(21-12-2014): 我测试了简单的模板匹配(使用标准化的互相关和LMS,但结果更差).但是我通过提取每个字符findCountours然后运行仅包含一个字符的tesseract以及将-psm 10每个输入图像解释为单个字符的选项向前迈出了一大步.Additonaly我在后处理步骤中删除了非字母数字字符.第一批结果令人鼓舞,检出率达到90%且更好.主要问题是"9","g"和"q"字符的错误检测.

问候,

c++ ocr opencv tesseract template-matching

8
推荐指数
1
解决办法
1559
查看次数

Qt 5.4/Qml:防止绑定循环

我有一个全局单例"设置",它保存应用程序设置.当我尝试运行以下代码时,我得到一个QML CheckBox: Binding loop detected for property "checked":

CheckBox {
    checked: Settings.someSetting                         
    onCheckedChanged: {
        Settings.someSetting = checked;
    }
}
Run Code Online (Sandbox Code Playgroud)

很明显为什么会出现这种错误,但是如何在没有绑定循环的情况下正确实现此功能呢?例如,我想在设置单例中保存复选框的当前选中状态.

我正在使用Qt 5.4和Qml Quick 2.

问候,

c++ qt qml qt5 qt5.4

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

Windows Phone 8:监视混合C#/ C++中的内存使用情况

我想监视使用Windows Phone运行时组件的Windows Phone 8上的混合C#/ C++应用程序的内存使用情况.问题是,当在Visual Studio(ALT + F1)中打开分析工具包时,我只有"执行"选项(http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202934%28v= vs.105%29.aspx).对于"纯"C#项目,也可以使用内存选项.

是否有其他或多或少的简单方法来监控内存使用情况?

问候,

c# c++ code-analysis memory-management windows-phone-8

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

OpenCV:如何使用掩码参数进行特征点检测(SURF)

我想将SurfFeatureDetector限制为一组区域(掩码).对于测试,我只定义一个掩码:

Mat srcImage; //RGB source image
Mat mask = Mat::zeros(srcImage.size(), srcImage.type());
Mat roi(mask, cv::Rect(10,10,100,100));
roi = Scalar(255, 255, 255);
SurfFeatureDetector detector();
std::vector<KeyPoint> keypoints;
detector.detect(srcImage, keypoints, roi); // crash
//detector.detect(srcImage, keypoints); // does not crash
Run Code Online (Sandbox Code Playgroud)

当我通过"roi"作为掩码时,我得到了这个错误:

OpenCV Error: Assertion failed (mask.empty() || (mask.type() == CV_8UC1 && mask.size() == image.size())) in detect, file /Users/ux/Downloads/OpenCV-iOS/OpenCV-iOS/../opencv-svn/modules/features2d/src/detectors.cpp, line 63
Run Code Online (Sandbox Code Playgroud)

这有什么问题?如何正确地将掩码传递给SurfFeatureDetector的"detect"方法?

问候,

c++ opencv roi surf feature-detection

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