Python学習→opencv画像のグレースケール変換基本操作学習

長いこと更新してなかったので、今日は核酸やらないといけないので寮に帰れないので、今日学んだopencvの知識を記録しておきます!

動作環境はpycharmです。

早速、コードを紹介しましょう。

import cv2  # opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
# 读取图片;括号里面填写好路径就行!!
img = cv2.imread("./123.jpg")

print(img)
# 图像显示在窗口上面
# cv2.imshow("image", img)
# # 参数代表关闭图片后程序关闭的时间,数字越大时间越久
# cv2.waitKey(0)
# # 窗口关闭
# cv2.destroyAllWindows()
# shape方法:shape返回的是图像的行数,列数,色彩通道数
print(img.shape)
# (1440, 1080, 3)


# 改为灰色,图片转换为灰度图
img = cv2.imread("./123.jpg", cv2.IMREAD_GRAYSCALE)
print("*" * 100)
print(img)
print(img.shape)
# (1440, 1080)
cv2.imshow("image", img)
# 参数代表等待时间
cv2.waitKey(0)
# 窗口关闭
cv2.destroyAllWindows()


# 保存改变
cv2.imwrite("123.jpg", img)


# 查看图片类型
sd = type(img)
print(sd)
# 查看图片的总像素
img.size
print(img.size)
# 查看存储类型
img.dtype
print(img.dtype)

まずは写真を読み込みましょう!

# 读取图片;括号里面填写好路径就行!!我这里当先目录下我导入的图片
img = cv2.imread("./123.jpg")

まずはフォローして試してみて、写真を開いて見てください!

以下が実装されたコードです!

# 图像显示在窗口上面
 cv2.imshow("image", img)
 # 参数代表关闭图片后程序关闭的时间,数字越大时间越久
 cv2.waitKey(0)
# 窗口关闭
 cv2.destroyAllWindows()

走った後の写真はこんな感じ

写真の特定のピクセル データがどのようなものであるかを確認できます。

img = cv2.imread("./123.jpg")

print(img)

出力は次のとおりです。

[[[129 129 129]
  [129 129 129]
  [129 129 129]
  ...
  [ 76 76 76]
  [ 77 77 77]
  [ 78 78 78]]

 [[129 129 129]
  [129 129 129]
  [129 129 129]
  ...
  [ 75 75 75]
  [ 76 76 76]
  [ 77 77 77]]

 [[129 129 129]
  [129 129 129]
  [129 129 129]
  ...
  [ 74 74 74]
  [ 75 75 75]
  [ 75 75 75]]

 ...

 [[160 160 160]
  [160 160 160]
  [161 161 161]
  ...
  [ 59 59 59]
  [ 60 60 60]
  [ 60 60 60]]

 [[160 160 160]
  [160 160 160]
  [160 160 160]
  ...
  [ 60 60 60]
  [ 60 60 60]
  [ 60 60 60]]

 [[159 159 159]
  [160 160 160]
  [160 160 160]
  ...
  [ 60 60 60]
  [ 60 60 60]
  [ 61 61 61]]]
ポイントは 10 億以上あります! ははは!

これで最初のステップは完了です。

ちなみにここではシェイプの使い方を紹介します!

#shape メソッド:shape は画像の行、列、およびカラー チャネルの数を返します
print(img.shape)
# (1440, 1080, 3)

2 番目のステップでは、画像を処理するときに画像をグレースケール画像に変更する必要がある場合があるため、このカラー画像をグレースケール画像に変更する必要があると考えます。

# 改为灰色,图片转换为灰度图
img = cv2.imread("./123.jpg", cv2.IMREAD_GRAYSCALE)

このステップを完了することは実際にはほぼ同じであり、その後は最初と同じです

cv2.imshow("image", img)
 # 参数代表关闭图片后程序关闭的时间,数字越大时间越久
cv2.waitKey(0)
# 窗口关闭
cv2.destroyAllWindows()

しかし、追加することも

画像 123.jpg をグレースケール イメージに変更して保存すると、元のカラー イメージはグレースケール イメージに変更されます。以下のようになります!

# 保存函数
cv2.imwrite("123.jpg", img)

最後に、いくつかのメソッドの機能を一般化してみましょう。

# 查看图片类型
sd = type(img)
print(sd)
# 查看图片的总像素
img.size
print(img.size)
# 查看存储类型
img.dtype
print(img.dtype)

今日私が共有したのは以上です。上記に何か問題がある場合、または私に連絡したい場合は、プライベート メッセージを送ってください。

おすすめ

転載: blog.csdn.net/hhR888888/article/details/127659463