问题标签 [imread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1470 浏览

python - OpenCV Python - 读取 pgm 文件

我正在尝试为面部识别项目读取一堆 pgm 文件。

这些文件位于一个名为“negative”的整体文件夹中,并且在该negative 文件夹中是子文件夹。我的脚本的这一部分应该进入所有目录,将文件名存储在一个数组中,并使用 OpenCV 将“图像文件”存储在另一个数组中。

出于某种原因,当它打印我NONE在每个索引中得到的数组时(其中有 40 个)。据我了解,我应该从中获得二进制值。此代码适用于 jpg 文件的文件。

0 投票
0 回答
713 浏览

numpy - 无法将 TIFF 转换为数组

我有两个 .tif 文件数据集。对于data_1,我可以使用scipy.imread()和将 .tif 图像转换为数组np.array。但是对于其他数据集data_2,当我应用相同的函数时,.tif 文件不会转换为浮点数组。

如何从 TIFF 转换为数组?

0 投票
1 回答
1874 浏览

android - OpenCV3.0 - Imgcodecs.imread 返回空文件

我是 OpenCV 的新手——在 Android 上使用 OpenCV310。

当我对存在的文件调用Imgcodecs.imread时,我总是得到一个空的 Mat。有人可以帮我吗?

代码是:

我得到的日志是:


07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/SpotDetector:文件存在:真
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/SpotDetector:试图读取: /storage/emulated/0/1.jpg
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/SpotDetector:失败,空!详细信息:Mat [ 0*0*CV_8UC1, isCont=false, isSubmat=false, nativeObj=0x7f97b2a660, dataAddr=0x0 ]

提前致谢!

0 投票
1 回答
662 浏览

python - Python:opencv(cv2)图像切片不起作用?

我已经通过img = cv2.imread("myimg.jpg", 0).

检查img加载后的值,它ndarray看起来像这样:

尝试使用cropped = img[top:bottom, left:right]where topbottom和are all integers裁剪出left其中的一部分。right

然而,cropped 是一个空的ndarray

为什么会这样?

0 投票
0 回答
283 浏览

c++ - OpenCV 加载高分辨率图像 ROI

在 OpenCV 中是否可以仅加载超高分辨率图像(例如 15,000 x 15,000)的特定 ROI(例如 200 x 200 补丁)?图像可能太大而无法完全加载,然后裁剪 ROI。

如果在 OpenCV 中不可能,是否还有其他库允许此类功能?

0 投票
1 回答
4115 浏览

python - 在绘图中插入/调整 png [matplotlib]

我正在使用matplotlib库在 python 中为我的论文做插图。在这个插图中,我有很多线条、多边形、圆圈等。但是我还想.png从外部插入一个图像。

到目前为止,这是我正在尝试做的事情:

所以问题是,我如何确定 的值rect = 0.5, 0.4, 0.4, 0.4?例如,我希望 my 的左下角.png位于该点[20, 15],并且我希望它的高度为25

这是生成的图像:

未经调整的图像

但我希望这个虚拟框架调整到我的多边形点,像这样(这个在 Photoshop 中调整):

在 Photoshop 中调整

PS这里是链接frame.png实验。

0 投票
0 回答
1208 浏览

matplotlib - vmin, vmax not changing the display range in plt.imshow ( iPython notebook)

I'm doing some manipulation with images and need the image to be displayed correctly exactly as it is in the array. For some reason when I display image in iPython, they get modified. All solutions to this issue involve changing vmin and vmax to appropriate values, but for some reason they don't affect my image at all.

As you can see from the images, only the very first one is displayed as is. The rest of them have bizarre colors and changing the type or dynamic range with vmin and vmax does not seem to affect the output.

Here's my code:

And here are the images I get:

Results: first three image displays

Results: next three images

0 投票
1 回答
6909 浏览

android - 使用 OpenCV 从 Android 中的资产文件夹加载图像

我试图在 Android 中使用 OpenCV 3.0 加载放置在 assets 文件夹中的图像。我在这里阅读了很多答案,但我无法弄清楚我做错了什么。

“my image.jpg”直接放在 Android Studio 创建的 assets 文件夹中。这是我正在使用的代码。我已经检查并且库已正确加载。

当我尝试运行我的应用程序时,这就是我得到的:

看起来图像没有尺寸。我猜是因为它没有正确加载。我还尝试将其加载到可绘制文件夹中,但无论如何它都不起作用,我更喜欢使用资产之一。任何人都可以请帮助我并告诉我如何找到图像的正确路径?

谢谢

0 投票
0 回答
1225 浏览

c++ - OpenCV:加载具有 alpha 通道但 8 位深度的图像

我对cv::imread需要的标志有点困惑。

我的目标是使用此 alpha 通道(即 as )加载具有 alpha 通道的图像CV_8UC4。同时我想总是以 8 位的深度加载它们。

首先,我尝试使用以下内容:

这将剥离 Alpha 通道并返回 8 位图像。对于透明 TIF,一切看起来都不错,只是透明部分是黑色的。对于透明的PNG,悬停,它看起来完全错误。

接下来我尝试的是:

结果与 完全相同cv::IMREAD_COLOR。下次尝试:

Alpha 通道仍然不存在,但现在保留了图像的原始深度。

然后我尝试了:

这也适用于 PNG 图像。但是,现在图像的位深度保持不变,不会转换为 8 位。这意味着我必须在一个额外的步骤中对其进行转换。我怀疑这可能不是超级有效。

我还查看了 OpenCV 文档中对标志的描述。那里说:

所以显然只IMREAD_UNCHANGED支持阿尔法通道。但是IMREAD_ANYCOLOR,如果我不能用它读取四通道图像,那有什么用呢?

有没有办法加载一个转换为 8 位深度的 alpha 通道的图像?

另一件事对我来说似乎很奇怪:当我使用该选项IMREAD_UNCHANGED并读取具有 alpha 通道的 rgb 图像时,结果似乎是 RGBA。如果我读取没有 alpha 通道的 rgb 图像,格式似乎是 BGR。为什么通道的顺序不同?我认为 OpenCV 总是使用 BGR 排序。

下面是一个带有 alpha 通道的 PNG 在正确加载和错误加载时的外观示例:

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
416 浏览

matlab - 如何在 matlab 中使用 imread 读取 RGB 图像的映射?

运行此代码后,地图变量的值为空。请指导我。