gpt4 book ai didi

android - highgui.imread 读取旋转图像

转载 作者:太空狗 更新时间:2023-10-29 14:24:08 25 4
gpt4 key购买 nike

我正在使用相机在我的手机上捕捉图像,该手机使用 Android 4.03 和 opencv for android 2.4.3

在我的应用程序中,我使用 Highgui.imread 从磁盘读取图像

但问题是该函数总是旋转图像,与实际保存的图像形成对比!

if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Mat img = Highgui.imread(file.getAbsolutePath());
if(img!=null)
n.detectDocument(img.getNativeObjAddr());

在本地

jbyteArray JNICALL Java_com_example_superemr_NSuperEMR_detectDocument(JNIEnv *env, jobject object, jlong addr)
{
Mat* image = (Mat*) addr;
imwrite("/mnt/sdcard/work/hala.jpg",*image);
return NULL;
}

如何在正确的位置读取图像?

最佳答案

imread 解码 JPG 元数据的方式与您使用的图像查看器不同。

手机照片有“方向”EXIF放。这在 Chrome 中可以看到 photo1photo2在 tinypic 上。

不确定如何在 C++ 中正确读取和处理 EXIF 标志,但在 Python 中类似 question .

还没有尝试过,但你可以考虑用另一个库读取图像,保存为 png,然后读入 opencv。

PS:看到这是一个旧帖子,但是当我遇到同样的问题时,它出现在我的搜索结果中,所以也许对其他人有帮助。

关于android - highgui.imread 读取旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13950210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com