import numpy as np
import cv2
import random
data = [random.randint(0,255) for _ in range(1171875)]
data = np.resize(data,(625,625,3))
print(data)
cv2.imwrite('2.jpg',data)
s = cv2.imread('2.jpg')
cv2.imshow('img2',s)
cv2.waitKey(0)
最后产生了一张这样的图:其中像素点的值都在 0-255 之间

文章目录图片转化成矩阵方法一:方法二:矩阵转换成图片错误代码段正确代码段图片转化成矩阵方法一:使用 PIL 的方法 + img.getdata() 提取数据 + np.array() 的转换最后得到的结果是个二维数组from PIL import Imageimport numpy as np'''图片转数组'''img = Image.open('1.jpg') # 使用 PIL 打开图片data = img.getdata() # 获取图片的数据信息 class &l
最近学了些opencv,想把摄像头拍到的图像通过opencv显示出来,摄像头拍到的数据存到二维数组中,然后通过opencv显示,大概的程序如下:
unsigned char graph[64][128];//摄像头拍到的数据
IplImage* img = cvCreateImage( cvSize(64,128), 16, 1 ); //size为图像
import numpy as np
# import scipy
import matplotlib.pyplot as pltdef ImageToMatrix(filename):
# 读取图片
im = Image.open(filename)
# 显示图片
# im.show()
/*************************************/
//1.读入Mat矩阵(cvMat一样),Mat img=imread("*.*");//cvLoadImage
//确保转换前矩阵中的数据都是uchar(0~255)类型(不是的话量化
一般情况下,在计算机视觉领域会出现很多次需要将图像显示或者保存到文件夹下,下面就介绍使用多种方法来实现图像的保存与显示。
文章目录1. 从矩阵到图片的显示方法与保存1.1 PIL实现1.2 Matplotlib实现1.3 OpenCV实现1.4 Numpy实现1.5 Torchvision实现2. 从路径到图片的显示方法2.1 PIL实现2.2 Matplotlib实现2.3 OpenCV实现
1. 从矩阵到图片的显示方法与保存
1.1 PIL实现
from PIL import .
刚开始接触到OpenCV,本身是想学借助OpenCV的库来进行图像处理学习的,后来发现OpenCV将所有的东西都集成起来了,对于打算学习图像处理来说这样反而不是什么好事;
在我看来,图像处理基本基于对像素值的处理,那么我们尽可能的用数组来存储像素值,对于OpenCV来说不便于按照我们的做法来对图片进行处理。但是OpenCV给我们集成了cv::Mat::at这样一个结构,用于读取图...
前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然后直接对这个PIL对象进行操作。如果只是简单的操作还可以,但是如果操作稍微复杂一些,就比较吃力了。因此,通常我们加载完图片后,都是把图片转换成矩阵来进行更加复杂的操作。
python中利用numpy库和scipy库来进行各种数据操作和科学计算。我们可以通过pip来直接安装这两个库
pip install numpy
pip install scipy
以后,只要是在python中进行数字图像处理,我们都需要导入这些包:
from PIL import Image
import numpy as np
import ma
# 读取图片并转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 100, 200)
# 查找轮廓
contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 计算矩阵在图片中的比例
matrix_area = 100 # 假设矩阵面积为100
img_area = img.shape[0] * img.shape[1] # 计算图片面积
ratio = matrix_area / img_area
print('矩阵在图片中的比例为:', ratio)