Python-Lernen -> Graustufenkonvertierung des OpenCV-Bildes zum Erlernen grundlegender Operationen

Ich habe es schon lange nicht mehr aktualisiert, daher kann ich nicht in den Schlafsaal zurückkehren, da ich heute Nukleinsäure machen muss, also werde ich das OpenCV-Wissen aufzeichnen, das ich heute gelernt habe!

Die Betriebsumgebung ist: pycharm

Lassen Sie uns ohne weitere Umschweife den Code präsentieren:

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)

Laden wir zunächst unser Bild ein!

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

Folgen Sie uns, um es zuerst auszuprobieren, und öffnen Sie unser Bild, um es zu sehen!

Unten ist der implementierte Code!

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

Mein Bild nach dem Laufen sieht so aus

Wir können sehen, wie die spezifischen Pixeldaten des Bildes aussehen!

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

print(img)

Die Ausgabe ist:

[[[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]]]
Es gibt mehr als eine Milliarde Punkte! Ha ha! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

Damit ist der erste Schritt abgeschlossen!

Hier stellen wir übrigens die Verwendung von Formen vor!

# Shape-Methode: Shape gibt die Anzahl der Zeilen, Spalten und Farbkanäle des Bildes zurück
print(img.shape)
# (1440, 1080, 3)

Im zweiten Schritt sind wir der Meinung, dass dieses Farbbild in ein Graustufenbild geändert werden sollte, da es bei der Bildverarbeitung manchmal erforderlich ist, das Bild in ein Graustufenbild zu ändern

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

Das Abschließen dieses Schritts ist eigentlich fast das Gleiche, und dann ist es das Gleiche wie am Anfang

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

sondern auch hinzufügen

Wenn wir das Bild 123.jpg in ein Graustufenbild ändern und es dann speichern, wird unser ursprüngliches Farbbild in ein Graustufenbild geändert. werde wie unten!

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

Lassen Sie uns abschließend noch die Funktionen verschiedener Methoden bekannt machen:

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

Das ist alles, was ich heute mitgeteilt habe. Wenn mit dem oben Gesagten etwas nicht stimmt oder Sie mit mir kommunizieren möchten, können Sie mir eine private Nachricht senden! ! ! !

Supongo que te gusta

Origin blog.csdn.net/hhR888888/article/details/127659463
Recomendado
Clasificación