赞
踩
以下是将两张图片拼接成一张图片的示例代码:
import cv2 import numpy as np # 三通道 img1 = cv2.imread('image1.jpg') img2 = cv2.imread('image2.jpg') # 确定两张图片的大小 height, width, channels = img1.shape new_width = width + img2.shape[1] # 创建一张新的图片 new_img = np.zeros((height, new_width, channels), dtype=np.uint8) # 将第一张图片复制到新图片的左侧 new_img[:,:width,:] = img1 # 将第二张图片复制到新图片的右侧 new_img[:,width:,:] = img2 # 显示合并后的图片 cv2.imshow('Merged Image', new_img) # 等待关闭窗口 cv2.waitKey(0) # 释放资源 cv2.destroyAllWindows()
以下是将两张图片在同一个窗口显示的示例代码:
import cv2 import numpy as np img1 = cv2.imread('image1.jpg') img2 = cv2.imread('image2.jpg') ## 使用numpy # 将两张图片垂直堆叠 img_vstack = np.vstack((img1, img2)) # 将两张图片横向拼接在一起 result = np.hstack([img1, img2]) # 将两张图片拼接到一起 img = np.concatenate((img1, img2), axis=1) ## 使用opencv vimg = cv2.vconcat((img1, img2)) # 垂直方向 himg = cv2.hconcat((img1, img2)) # 水平方向 # 显示图片 cv2.imshow('Two Images in One Window', img_vstack) cv2.waitKey(0) cv2.destroyAllWindows()
首先需要安装 xlrd
和 xlwt
模块,可以使用以下命令安装:
pip install xlrd
pip install xlwt
然后可以使用以下代码将图片写入 Excel 单元格内,并调整单元格大小与图片匹配:
import xlwt import xlrd from PIL import Image # 打开 Excel 文件 book = xlwt.Workbook(encoding='utf-8') sheet = book.add_sheet('Sheet1') # 打开图片文件,并设置图片大小 img = Image.open('image.jpg') img_width, img_height = img.size # 设置单元格宽度和高度与图片宽度和高度一致 sheet.col(0).width = img_width sheet.row(0).height = img_height # 将图片写入单元格 sheet.insert_bitmap('image.jpg', 0, 0) # 保存 Excel 文件 book.save('image.xls')
此代码是将一张名为 image.jpg
的图片写入 Excel 的第一行第一列的单元格内,并设置单元格宽度和高度与图片宽度和高度一致。保存 Excel 文件的名字为 image.xls
。如果需要批量处理多张图片,可以使用循环语句来遍历所有图片。
以下是一个示例代码,可以实现将指定文件夹内所有图片路径及其对应的图片插入到指定的Excel表格内,并调整单元格大小以适应图片大小:
import os from openpyxl import Workbook from openpyxl.utils import get_column_letter from openpyxl.drawing.image import Image # 设置文件夹路径和Excel文件名 folder_path = r"C:\folder_path" excel_file = "images.xlsx" # 创建Excel工作簿 wb = Workbook() ws = wb.active # 获取文件夹内所有图片路径和文件名 img_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg') or f.endswith('.png')] # 将文件名和路径分别写入Excel单元格 for i, img_file in enumerate(img_files): row = i + 1 img_path = os.path.join(folder_path, img_file) ws.cell(column=1, row=row, value=img_file) ws.cell(column=2, row=row, value=img_path) # 将图片插入Excel单元格并调整单元格大小 img = Image(img_path) img_width, img_height = img.width, img.height ws.row_dimensions[row].height = img_height / 3 # 调整行高 ws.column_dimensions[get_column_letter(3)].width = img_width / 6 # 调整列宽 # 将图片添加到单元格中 cell = sheet.cell(row=i+1, column=1) cell.value = img_path cell.alignment = openpyxl.styles.Alignment(horizontal='center', vertical='center') # cell._style = openpyxl.styles.NamedStyle(name='Hyperlink', # hyperlink=f'HYPERLINK("{image_path}")') ws.add_image(img, f"C{row}") # 在指定单元格添加图片 # 保存Excel文件 wb.save(excel_file)
在上述代码中,我们使用了openpyxl库来处理Excel表格,并使用os库来获取指定文件夹内的所有图片文件路径和文件名。对于每个图片文件,我们将其文件名和路径分别写入Excel单元格的第1列和第2列,然后将该图片插入Excel单元格的第3列并调整单元格大小以适应图片大小。最后保存Excel文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。