999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python環境下的圖片分層軟件設計

2020-02-14 06:03:57朱榮剛翟震王晨曦高江巖
科技創新與應用 2020年2期

朱榮剛 翟震 王晨曦 高江巖

摘 ?要:文章首先介紹了圖片分層的應用領域,接著闡述了利用Python語言對圖片進行分層的具體設計過程,包括編程語言的選擇、二值化的設計思路,即先對圖像進行灰度化,再進行閥值化處理,對圖像特征按照灰度級進行提取,進而實現分層的操作及分層后的文件處理,最后給出了部分程序和運行結果。

關鍵詞:Python;圖片分層;軟件;雕刻

中圖分類號:TP312 文獻標志碼:A ? ? ? ? 文章編號:2095-2945(2020)02-0035-03

Abstract: This paper first introduces the application field of picture layering, and then expounds the specific design process of picture layering by using Python language, including the selection of programming language and the design idea of binarization, that is, graying the image first. Then it carries on the threshold processing, extracts the image features according to the grayscale, and then realizes the layered operation and file processing after layering. Finally, some programs and running results are given.

Keywords: Python; image layering; software; engraving

前言

隨著生活水平的提高,人們對手工藝品的需求日益增多,其中以木雕、烙畫等居多。傳統的生產模式是純手工制作,不僅耗時耗力,而且次品率很高。目前,各類激光雕刻設備日趨增多,技術較為成熟,但基本上是雕刻平面圖形。對于富有質感的雕刻畫,需要對圖片進行分層處理,確定每層的雕刻參數。如果利用PS等軟件進行處理,過程復雜,速度慢,精度也差,因此需要編寫專門的軟件,該軟件可以實現對JPG、PNG圖片的快速分層。

1 方案設計

1.1 編程語言選擇

Python是一種面向對象型腳本語言,Python具有語法簡潔而高效、一次編譯處處能運行、擁有包羅幾乎所有常見功能的庫、適合快速開發等特點,已經成為最流行的腳本語言之一[1]。

因為Python語言語法簡潔、清晰,具有豐富強大的庫[1],所以使用Python語言開發該圖像分層軟件最合適。通過Python語言可以設計出便于操作、實用性強的圖片分層軟件,該軟件在后臺對分層模式的參數設定,可以實現對圖片的快速分層。軟件以雕刻立體感圖片為主要目的,編寫出以Python腳本語言為依托的圖片分層軟件,該圖片分層軟件可以通過對模式的選擇將輸入的圖片進行分層處理,之后將分層后的圖片傳送給雕刻機,雕刻機在木板等具有一定厚度的材料上雕刻出具有層次感的圖畫,如景區圖片和人物肖像等,最終制作出高檔的禮品或紀念品。

1.2 設計思路

軟件采用二值化技術對圖像進行分層處理。首先對圖像進行灰度化,再進行閥值化處理,對圖像特征按照灰度級進行提取,閥值化可以根據灰度圖片本身設置閥值,也可以根據graythresh函數自動設置閥值[2]。為了減少工作人員的工作量、提高圖片分層的效率、使軟件具有較強的實用性、滿足實際工作中對分層圖片的特殊要求,可以根據圖片的實際分層效果選擇合適的分層模式,而且能根據客戶要求隨時對參數進行修改。分層處理后得到的分層圖片格式、大小一致,可以在軟件主界面觀察分層圖片并和原圖進行對比,滿足客戶特定的打印需求[3]。該軟件對于工藝品制造業、旅游景點的紀念品加工行業具有重大意義,將會帶來巨大的經濟效益。

系統主界面包含兩大模塊。第一個模塊是圖片處理程序,該模塊可以將輸入進來的圖片進行二值化、閥值化處理,隨后將分層后的圖像自動保存到指定文件夾,之后可以將這些圖片輸送給雕刻機,指導雕刻機雕刻出具有立體感的工藝品[4]。第二個模塊是圖片預覽程序,處理后的圖片將會被保存到同一個指定文件夾下[5],該模塊就是將指定文件夾內的圖片導出顯示在系統主界面的圖片預覽區域,并且按照圖片生成時間排序,可以上下翻動預覽圖片[6]。

該系統主要適合對肖像圖以及風景圖片進行處理,打印出來的圖片可以作為一種高檔的禮物或者旅游紀念品,具有很高的經濟前景。

2 軟件設計

2.1 功能需求

要求輸入圖片文件的格式為:jpg、bmp、png,最大1080*1920(像素),經過分層后輸出同樣格式的文件3-7個(視精度情況選擇)。同時要求對于輸入的圖片在后臺的處理時間不超過2秒。

2.2 主界面設計

如圖1所示,軟件提供了三種分層模式可供選擇。首先調入原始圖片,點擊相應的分層模式按鈕后,就可以選擇要處理的圖片,選中的圖片將會被擴大/縮小到指定大小,在原圖位置處顯示,方便與處理后的圖片進行對比[7]。

軟件主界面的右側是圖片預覽區,圖片預覽程序將會把分層后的圖片保存到默認的文件夾,文件夾里的圖片按照生成時間先后進行排序,在主界面的圖片預覽區域顯示,每次只顯示一張圖片。圖片翻頁時需要點擊圖片預覽區域右側的“上一張”、“下一張”按鈕,當圖片翻到最后一頁時繼續翻頁將會有系統提示[8]。

2.3 程序設計

本軟件使用了兩個庫進行設計:Tkinter庫主要支持了該軟件編寫過程中所涉及到的核心窗口部件;cv2庫主要引用于該軟件在圖片處理程序部分[9]。

因限于篇幅僅列出閥值程序。

def q0():#全局閾值

def threshold_demo(image):

gray=cv.cvtColor(image,cv.COLOR_RGB2GRAY) #把輸入圖像灰度化

#直接閾值化是對輸入的單通道矩陣逐像素進行閾值分割。

ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_TRIANGLE)

print(“threshold value %s”%ret)

cv.namedWindow(“binary0”, cv.WINDOW_NORMAL)

cv.imwrite('D:\w00.png', binary)

cv.imshow(“D:\w00.png”, binary)

cv.destroyAllWindows() #局部閾值

def local_threshold(image):

gray=cv.cvtColor(image,cv.COLOR_RGB2GRAY)#把輸入圖像灰度化

#自適應閾值化能夠根據圖像不同區域亮度分布,改變閾值

binary=cv.adaptiveThreshold(gray,255,cv.ADAPTIVE_T

HRESH_GAUSSIAN_C,cv.THRESH_BINARY,25,10)

cv.namedWindow("binary1",cv.WINDOW_NORMAL)

cv.imwrite('D:\w01.png',binary)

cv.imshow("D:\w01.png",binary)

cv.destroyAllWindows()

def custom_threshold(image):#用戶自己計算閾值

gray=cv.cvtColor(image,cv.COLOR_RGB2GRAY)#把輸入圖像灰度化

h,w=gray.shape[:2]

m=np.reshape(gray,[1,w*h])

mean=m.sum()/(w*h)

print("mean:",mean)

ret,binary=cv.threshold(gray,mean,255,cv.THRESH_B

INARY)

cv.namedWindow("binary2",cv.WINDOW_NORMAL)

cv.imwrite('D:\w02.png',binary)

cv.imshow("D:\w02.png",binary)

cv.destroyAllWindows()

src=cv.imread(filename)

cv.namedWindow('input_image',cv.WINDOW_NORMAL)

#設置為WINDOW_NORMAL可以任意縮放

cv.imshow('input_image',src)

threshold_demo(src)

local_threshold(src)

custom_threshold(src)

cv.waitKey(0)

cv.destroyAllWindows()

2.4 運行結果

該軟件提供了三種分層模式,分別是粗略模式、普通模式和精細模式。圖2列出了粗略模式的運行結果,該模式將所選圖片進行3層細分,處理后將得到尺寸相同的三個圖片文件[3]。

3 結束語

該軟件實現了預期功能,能夠一鍵對輸入的圖片進行分層處理,并且提供了三種分層模式供用戶選擇,實用性強,滿足了用戶的實際需求。不足之處在于需要安裝Python系統及第三方庫,圖片處理的精度仍有提高的余地。

參考文獻:

[1]王常衡,李嘉偉,羅欽,等.淺析Python語言及其應用前景[J].計算機產品與流通,2019(04):146.

[2](美)Watts S. Humphrey.軟件工程規范[M].清華大學出版社,2004.

[3]李俊.python趣味圖像處理[J].電子制作,2013(17):71.

[4]楊佩璐,宋強.Python寶典[M].電子工業出版社,2014.

[5]呂云翔,趙天云,張元.Python大學教程[M].電子工業出版社,2017.

[6]江開耀,張俊蘭,李曄.軟件工程[M].西安:電子科技大學出版社,2003.

[7]陳之堯.基于OpenCV-Python的圖像分割技術的設計與應用研究[J].中國新通信,2018,20(19):89.

[8]戴維I.施奈德,車萬翔.Python程序設計[M].機械工業出版社,2016.

[9]湯韜.Python庫簡介[J].程序員,2006(6):62-63.

主站蜘蛛池模板: 国产午夜福利亚洲第一| 国产原创演绎剧情有字幕的| 91在线视频福利| 久操中文在线| 亚洲中文字幕精品| 日韩欧美中文在线| 亚洲中久无码永久在线观看软件| 熟女日韩精品2区| 精品一区国产精品| 中国国语毛片免费观看视频| 精品国产成人三级在线观看| 人妻夜夜爽天天爽| 亚洲精品天堂在线观看| 国产黄色片在线看| 欧美中日韩在线| 日韩国产一区二区三区无码| 国产高清无码第一十页在线观看| 国产亚洲美日韩AV中文字幕无码成人| 韩日午夜在线资源一区二区| 喷潮白浆直流在线播放| 国国产a国产片免费麻豆| 亚洲男人的天堂久久精品| 美女一级免费毛片| 无码粉嫩虎白一线天在线观看| 欧美成人精品欧美一级乱黄| 亚洲精品第五页| 十八禁美女裸体网站| 午夜毛片免费看| 久久女人网| 在线亚洲精品福利网址导航| 一区二区午夜| 成人在线不卡视频| 欧美精品一区在线看| 在线亚洲小视频| 91成人在线免费观看| 日本一区高清| 国产精品浪潮Av| 国产成人成人一区二区| 亚洲日韩在线满18点击进入| 欧美国产日产一区二区| 麻豆精品视频在线原创| 男女男免费视频网站国产| 国产成人高清精品免费软件| 热伊人99re久久精品最新地| 国产美女无遮挡免费视频网站| 久久性视频| 午夜国产小视频| 欧美久久网| 又爽又大又光又色的午夜视频| 欧美成一级| 日韩免费毛片视频| 国产人碰人摸人爱免费视频| 毛片久久久| 一级毛片在线直接观看| 国产综合无码一区二区色蜜蜜| 国产激情无码一区二区免费| 国产在线拍偷自揄拍精品| 欧美精品在线看| 高清无码一本到东京热| 华人在线亚洲欧美精品| 欧美成人综合视频| 四虎在线高清无码| 国产91导航| 亚洲色大成网站www国产| 久久久久无码国产精品不卡| 亚洲一级色| 亚洲综合经典在线一区二区| 91久久夜色精品国产网站| h网站在线播放| 色综合中文| 亚洲精品人成网线在线| 在线观看视频99| 国产精品自在在线午夜区app| 国产白浆视频| 亚洲成人黄色网址| 欧美成人精品欧美一级乱黄| 亚洲成人高清无码| 白浆视频在线观看| 毛片免费在线视频| 日韩精品亚洲人旧成在线| 手机成人午夜在线视频| 激情网址在线观看|