标签: imread

OpenCV vs Matlab:带有imread的像素的不同值

imread()在使用jpg文件的Windows 7上遇到了Matlab(2014)和OpenCV(3.0)中的函数问题.

通过读取相同的文件jpg和相同的像素,我没有相同的值.

这是我的2个代码:(OpenCV代码后跟Matlab代码)和我的值(模式调试在OpenCV中看到,键盘在Matlab中)

#include <opencv2\opencv.hpp>
#include <cstdio>

using namespace cv;
using namespace std;

int main()
{
     Mat img = imread("test.jpg");

     uchar pb = img.at<Vec3b>(0, 0).val[0];
     uchar pg = img.at<Vec3b>(0, 0).val[1];
     uchar pr = img.at<Vec3b>(0, 0).val[2];

     int d = img.depth();

     int t = img.type();
}
Run Code Online (Sandbox Code Playgroud)

价值观:

     pixel [0,0] = (147,174,204); // = index(1,1) in the image.
     d = 0;
     t = 16;
Run Code Online (Sandbox Code Playgroud)

代码Matlab:

img = imread('test.jpg');

img(1,1,:)

whos img
Run Code Online (Sandbox Code Playgroud)

价值观:

ans(:,:,1) =
148

ans(:,:,2) =
174

ans(:,:,3) = …
Run Code Online (Sandbox Code Playgroud)

matlab jpeg opencv imread opencv3.0

14
推荐指数
1
解决办法
2453
查看次数

OpenCV:对imread()的未定义引用

我在Eclipse Mars中配置了OpenCV 3.1.0.这些是我的配置,

G ++包括:D:/ opencv/build/install/include; GCC包括:D:/ opencv/build/install/include

链接库:libopencv_core310,libopencv_highgui310

链接器库路径:D:/ opencv/build/lib(此目录中的文件类似于libopencv_core310.dll.a)

我收到这样的错误,

imageRead.cpp:15: undefined reference to `cv::imread(cv::String const&, int)'
Run Code Online (Sandbox Code Playgroud)

这是我的imageRead.cpp文件,

#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace std;
using namespace cv;

int main(int argc, const char** argv) {
    Mat img = imread("D:/sample.jpg", CV_LOAD_IMAGE_UNCHANGED);
    if (img.empty()) {
        cout << "Error: Image cannot be loaded." << endl;
        system("pause");
        return -1;
    }
    namedWindow("Image Window", CV_WINDOW_AUTOSIZE);
    imshow("Image Window", img);
    if (waitKey() == 27) {
        return -1;
    }
    destroyWindow("Image Window"); …
Run Code Online (Sandbox Code Playgroud)

c++ eclipse windows opencv imread

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

如何使用Scikit-Image库从Python中的RGB图像中提取绿色通道?

我非常擅长skimage使用Python中的scikit-image()库进行图像处理(几分钟前开始!).我以前imread读过一个图像文件numpy.ndarray.该阵列是3维的,其中第三维的尺寸是3(即,对于图像的红色,绿色和蓝色分量中的每一个,一个).

rgb_image = imread("input_rgb_image.jpg")
rgb_image.shape # gives (1411L, 1411L, 3L)
Run Code Online (Sandbox Code Playgroud)

我试图将绿色通道提取为:

green_image = rgb_image[:,:,1]
Run Code Online (Sandbox Code Playgroud)

但是当我将这个图像矩阵写入输出文件时:

imsave("green_output_image.jpg",green_image)
Run Code Online (Sandbox Code Playgroud)

我得到的图像看起来并不真实!

python image image-processing scikit-image imread

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

使用cv2.imread:“&lt;内置函数imread&gt;返回NULL,没有设置错误”,好像打不开图片或者获取数据

这是我的代码中出现问题的部分。它应该计算图片中绿色像素的数量:

img = Image.open('path.tif')

BLACK_MIN = np.array([0, 20, 20], np.uint8)

BLACK_MAX = np.array([120, 255, 255], np.uint8)

imgg = cv2.imread(img, 1)

dst = cv2.inRange(imgg, BLACK_MIN, BLACK_MAX)

no_black = cv2.countNonZero(dst)

print('The number of black pixels is: ' + str(no_black))
Run Code Online (Sandbox Code Playgroud)

python imread cv2

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

如何为Matlab的imread添加独特的图像格式,以及Matlab的拖放?

我们有许多内部图像格式,我在Matlab中处理.我有所有这些的读/写功能.为了特异性,请考虑TGA图像格式,其中有文件交换图像阅读器.

Matlab对imread支持的图像格式有合理的拖放支持.

也就是说,您可以从资源管理器拖动图像,将其放在"工作区"窗格中,Matlab将读取图像,然后将其复制到工作区中.

我希望能够添加拖放支持,并且imread支持TGA文件.(例如,imread对文件名有很好的自动完成功能,tga_read_image没有.)

matlab file imread

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

错误:imread不是cv的成员

我使用OpenCV 3.0和Ubuntu 14.04.我正在尝试使用opencv在ubuntu上编译一些代码.我收到错误

"错误:'imread'不是'cv'的成员"

由于我之前的搜索知识,我尝试通过添加"highgui.h"进行编译.

我用:

$g++ main.cpp HOG.cpp HOGFeaturesOfBlock.cpp -I/usr/local/include/opencv -lml -lcvaux -highgui -lcv -lcxcore -o featureExtractor
Run Code Online (Sandbox Code Playgroud)

在终端上编译.

有什么建议?问候.能够.

c++ ubuntu opencv imread

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

使用OpenCV的imread()从qrc中读取图像

我想以这种方式使用OpenCV 从qrc中读取图像imread():

Mat img = imread(":/TempIcons/logo.png");
Run Code Online (Sandbox Code Playgroud)

但最终img大小为[0x0].我也尝试过:

Mat img = imread("qrc://TempIcons/logo.png");
Run Code Online (Sandbox Code Playgroud)

但我得到的大小是一样的.我不想在a中加载图像QImage然后在a 中转换它cv::Mat.有没有办法以简单的方式做到这一点?如果是的话,我该怎么办?

谢谢

c++ qt opencv imread

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

图像无法加载为灰度(skimage)

我正在尝试将图像加载为灰度,如下所示:

from skimage import data
from skimage.viewer import ImageViewer

img = data.imread('my_image.png', as_gray=True)
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用img.shape它检查它的形状,结果证明它是一个三维的,而不是二维的数组.我究竟做错了什么?

python grayscale scikit-image imread

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

使用 open cv imread 时出现“libpng 错误:读取错误”

我目前使用的是 Anaconda 4.3.27、Python 3.6.2 和 OpenCV 3.3.0

当我尝试时

img1 = cv2.imread('D:\Images\3D-Matplotlib.png')
img2 = cv2.imread('D:\Images\mainsvmimage.png')
Run Code Online (Sandbox Code Playgroud)

我得到libpng error: Read Error并出现一个弹出窗口,表明 Python 停止工作。我已经尝试用“\\”和“/”替换“\”,但在这些情况下也会出现相同的错误。当我尝试读取 jpg 而不是 png 时,我没有收到错误。有人知道这里可能有什么问题吗?

提前致谢!

编辑:

cv2.imwrite 也给出错误:

libpng error: Write Error
Run Code Online (Sandbox Code Playgroud)

python opencv libpng anaconda imread

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

如何使用给定坐标在图像中绘制点

我加载了图像并尝试在图像中绘制一个红点

img=mpimg.imread('./images/im00001.jpg')
red = [0,0,255]
# Change one pixel
img[ 0.,-26.10911452,0. ]=red
imgplot = plt.imshow(img)
Run Code Online (Sandbox Code Playgroud)

但是发生以下错误

ValueError:分配目标是只读的

python numpy image matplotlib imread

5
推荐指数
2
解决办法
1149
查看次数