OpenCv-01

使用opencv对图像进行一些简单的处理

首先知道自己的工作目录

python 复制代码
import os
cwd=os.getcwd()

命名一张图片

python 复制代码
my_image='lenna.png'

获得图片路径

python 复制代码
image_path=os.path.join(cwd,my_image)

import cv2

image=cv2.imread(my_image) #imread()函数将图片转换为ndarray数组

image.shape#(512,512,3),与pillow不同的是,opencv返回的是BGR格式,每个像素能取的像素强度范围是[0,255],通过max和min获取最大和最小值

展现一张图片

cv2.imshow('image',image)

也可用matplotlib

import matplotlib.pyplot as plt

plt.figure(figsize=(10,10))

plt.imshow(image)

plt.show()

结果是蓝色的一张图片,这是因为返回的是BGR格式,经过下面的处理,返回的就是正常的格式了。

new_image=cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

plt.figure(figsize=(10,10))

plt.imshow(new_image)

plt.show()

可将png转为jpg

cv2.imwrite("lenna.jpg", image)

2.把彩色图像变成灰色图像

image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

image_gray.shape #(512,512)

将它画出来

plt.figure(figsize=(10, 10))

plt.imshow(image_gray, cmap='gray')

plt.show()

3.分离不同的通道

python 复制代码
baboon=cv2.imread('baboon.png')

blue, green, red = baboon[:, :, 0], baboon[:, :, 1], baboon[:, :, 2]

im_bgr = cv2.vconcat([blue, green, red])
python 复制代码
plt.figure(figsize=(10,10))
plt.subplot(121)
plt.imshow(cv2.cvtColor(baboon, cv2.COLOR_BGR2RGB))
plt.title("RGB image")
plt.subplot(122)
plt.imshow(im_bgr,cmap='gray')
plt.title("Different color channels  blue (top), green (middle), red (bottom)  ")
plt.show()
相关推荐
CoderYanger7 小时前
动态规划算法-简单多状态dp问题:15.买卖股票的最佳时机含冷冻期
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger8 小时前
递归、搜索与回溯-FloodFill:33.太平洋大西洋水流问题
java·算法·leetcode·1024程序员节
CoderYanger11 小时前
动态规划算法-斐波那契数列模型:2.三步问题
开发语言·算法·leetcode·面试·职场和发展·动态规划·1024程序员节
CoderYanger11 小时前
动态规划算法-简单多状态dp问题:16.买卖股票的最佳时机含手续费
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger12 小时前
C.滑动窗口-求子数组个数-越短越合法——3258. 统计满足 K 约束的子字符串数量 I
java·开发语言·算法·leetcode·1024程序员节
CoderYanger13 小时前
动态规划算法-路径问题:9.最小路径和
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger13 小时前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
CoderYanger15 小时前
动态规划算法-简单多状态dp问题:12.打家劫舍Ⅱ
开发语言·算法·leetcode·职场和发展·动态规划·1024程序员节
金融小师妹15 小时前
机器学习驱动分析:ADP就业数据异常波动,AI模型预测12月降息概率达89%
大数据·人工智能·深度学习·编辑器·1024程序员节
CoderYanger16 小时前
动态规划算法-简单多状态dp问题:18.买卖股票的最佳时机Ⅳ
开发语言·算法·leetcode·动态规划·1024程序员节