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超碰| 国产av剧情无码精品色午夜| 影音先锋丝袜制服| 日韩人妻无码制服丝袜视频| 国产成人一区在线播放| 亚洲综合亚洲国产尤物| 久久婷婷色综合老司机| 香蕉伊思人视频| 欧美精品不卡| 国产无码网站在线观看| 性视频一区| 91免费国产在线观看尤物| 成年人国产视频| 91在线精品麻豆欧美在线| 浮力影院国产第一页| 看国产毛片| 欧美无专区| 亚洲一级毛片在线观播放| 久久免费视频6| 久久久国产精品无码专区| 国产18在线播放| 欧美在线三级| 中文字幕日韩丝袜一区| 一区二区三区毛片无码| 亚洲欧洲美色一区二区三区| 亚洲国产精品一区二区高清无码久久| 亚洲综合色婷婷中文字幕| 四虎国产精品永久一区| 国产一级做美女做受视频| 亚洲综合专区| 免费Aⅴ片在线观看蜜芽Tⅴ | 欧美精品v欧洲精品| 国产一级毛片网站| 免费无码网站| 午夜不卡视频| 一区二区三区四区在线| 亚洲欧美一级一级a| 精品国产91爱| 国产亚洲精品97AA片在线播放| 亚洲综合香蕉| 国产香蕉在线视频| 国产欧美中文字幕| 亚洲美女久久| 日韩不卡高清视频| 国产精品任我爽爆在线播放6080| 色九九视频| 国产午夜精品一区二区三| 亚洲欧美日韩高清综合678| 91福利一区二区三区| 亚洲中文字幕23页在线| 亚洲日本中文综合在线| 99热国产这里只有精品无卡顿"| 国产成人亚洲精品无码电影| 国产丝袜丝视频在线观看| 高h视频在线| 亚洲视频免| 欧美 国产 人人视频| 国产丝袜第一页| 亚洲啪啪网| 日韩大片免费观看视频播放| 久久亚洲中文字幕精品一区| 国产一级毛片yw| 91欧美在线| 日本午夜三级| 在线色综合| 国产在线精彩视频二区| 2021最新国产精品网站| 少妇露出福利视频| 综合社区亚洲熟妇p| 日本在线国产| 激情综合激情| 久久精品人人做人人爽电影蜜月| 国产主播福利在线观看| 国产成人久久777777| 青青草原偷拍视频| 岛国精品一区免费视频在线观看| 国产成人禁片在线观看| 久久综合丝袜长腿丝袜|