日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

1 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存

發布時間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

code

將下面文檔存為load_display_save.py

#-*- coding:utf-8 -*-
from __future__ import print_function #1
import argparse  #2
import cv2 #3ap = argparse.ArgumentParser() #4
ap.add_argument("-i", "--image", required = True,help = "Path to the image") #5
args = vars(ap.parse_args()) #6image1 = cv2.imread(args["image"]) #7
print("width: {}pixels".format(image1.shape[1])) #8
print("hight: {}pixels".format(image1.shape[0])) #9
print("channels: {}".format(image1.shape[2])) #10cv2.imshow("恐龍啊", image1) #11
cv2.waitKey(0) #12
cv2.imwrite("恐龍圖片.jpg", image1) #13

詳細解釋

#1:
引入future包,以便于我們使用print(),而不是print,這會讓我們的程序在python2.7或者python3下都可以運行
#2:
引入argparse包,是為了在命令行中解析所輸入的命令
#3:
引入OpenCV庫
#4,5,6:
這三句程序主要是為了解析從命令行輸入的參數,簡單介紹一下argparse的用法,一般分為四步:

import argparse  #導包
parser = argparse.ArgumentParser() #創建ArgumentParser對象
parser.add_argument() #通過add_argument()告訴ArgumentParser如何將命令行中的參數轉化成所需要的對象
parser.parse_args() #存儲和使用通過add_argument()得到的信息,檢查命令行的參數,并將參數轉化成合理的使用類型

現在再回到原來的代碼中,在原代碼中:

ap.add_argument("-i", "--image", required = True,help = "Path to the image")

1.這第一個參數和第二個參數是什么意思呢?大家回想在命令行中輸入
python -h和輸入python –help是不是都可以得到關于python的幫助文檔呢,這里的第一個參數-i就可以看成是–image的簡寫形式。第二個參數是”–image”,這里的image同時也相當于聲明了一個變量,后面是會用到的,在#7就用到了。
2.第三個參數什么意思呢?意思你在命令輸入python load_display_save.py后面必須加上“-i”或者”–image”
3.第四個參數是幫助參數,就是解釋你這個python load_display_save.py -i后面跟的參數是什么,可以看懂在這后面應該跟圖片的路徑

args = vars(ap.parse_args()) #6

這里為什么要是用vars()呢?是為了能夠像字典一樣訪問 ap.parse_args()的值,即現在 args[“image”]=ap.parse_args()
關于argparse的更多內容可以訪問python官網:
官方解釋
官方使用教程

#7:
通過#6得到了圖片的路徑,現在通過OpenCV的imread()函數從路徑讀取圖片,cv2.imread()返回的是用numpy數組表示的圖片
#8,9,10:
輸出的分別是圖片的寬,高,和顏色通道的數量,其實image1.shape是一個三元組(高,寬,顏色通道),如果是黑白圖片的話則只是二元組(高,寬),要注意的是shape[0]是高,shape[1]是寬,及shape[0]是y,shape[1]是x,在圖像中的坐標系如下:

#11:
以名稱為”恐龍啊”將圖片顯示

#12:
cv2.waitKey()表示暫停腳本的執行直到在鍵盤輸入一個按鍵,用“0”作為可以使用任何按鍵作為繼續腳本執行的按鈕

#13:
通過腳本將剛才展示的圖片以名稱為”恐龍圖片.jpg”存儲在和腳本同樣的目錄之下,

執行

在終端輸入:

python load_display_save.py -i images/pic.png

得到結果

width: 528pixels
hight: 449pixels
channels: 3

得到圖片的寬為528像素,高位449像素,顏色通道的數量為3,即為RGB,同時可以驚奇的發現,我們打開了png的圖片然后輕易的將它存成jpg的格式,接下來我們將探索如何得到在圖片中的像素和控制它們。


轉載請注明出處:
CSDN:樓上小宇__home:http://http://blog.csdn.net/sty945
簡書:樓上小宇:http://www.jianshu.com/u/1621b29625df

總結

以上是生活随笔為你收集整理的1 用python进行OpenCV实战之用OpenCV3实现图片载入、显示和储存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。