pillow模組內容繁雜,因此使用例項展示內容
c:\windows\system32>pip list
deprecation: the default format will switch to columns in the future. you can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
asn1crypto (0.24.0)
cffi (1.11.5)
cryptography (2.2.2)
idna (2.7)
pillow (5.2.0)
pip (9.0.1)
pycparser (2.18)
pygame (1.9.3)
pymysql (0.9.2)
setuptools (28.8.0)
six (1.11.0)
##2. 驗證碼生成例項
from pil import image, imagedraw, imagefont
import random
# 新增字母
def creatimg(width,height):
# 偏移量x
global x
# 建立新的畫布,透明度為完全透明
img = image.new("rgba", (width, height), (0, 0, 0, 0))
# 建立畫筆
draw = imagedraw.draw(img)
font = imagefont.truetype("img/code1.ttf", 50)
# 建立隨機字母並新增至列表
char = chr(random.randint(65, 91))
# 將字母隨機寫入畫布中的指定範圍內
draw.text((x, random.randint(10, 15)), char, font=font, fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))
# 隨機旋轉[-10,10]度
img = img.rotate(random.randint(-10, 10))
# 下乙個字元為偏移量
x += 50
return img
# 新增隨機點
def addpoint(img):
# 獲取寬高
width, height = img.size
# 隨機新增1000個隨機顏色的點
for i in range(1000):
img.putpixel((random.randint(0, width-1), random.randint(0, height-1)), (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)))
return img
# 建立最底層畫布
code = image.new("rgba", (200, 100), (255, 255, 255, 255))
# 獲取畫布尺寸
w, h = code.size
# 建立空列表存放驗證字元
codelist =
# 根據x判定字母偏移量,起始位置為0
x = 0
# 迴圈建立隨機字元並與底層畫布合併
for i in range(4):
img = creatimg(w, h)
code = image.alpha_composite(code, img)
# 增加隨機點
code = addpoint(code)
# 展示驗證碼
code.show()
# 輸出驗證字元列表
print(codelist)
##3. 鑑黃(簡易)
from pil import image
# 開啟
# 將模式轉化為ycbcr,y代表亮度,cb代表藍色濃度偏移量,cr代表紅色濃度偏移量
img = img.convert("ycbcr")
# 獲取影象大小
w, h = img.size
# 設定**初始值
skin = 0
# 遍歷影象中每乙個畫素
for m in range(w):
for n in range(h):
# 獲取該畫素的ycbcr
y, cb, cr = img.getpixel((m, n))
# 根據公式判斷是否為裸露的**,如果是則**值+1
if 77 <= cb <= 127 and 133 <= cr <= 173:
skin += 1
# 遍歷完成後判定是否**值佔總畫素的40%以上,如果是則為不健康的(〃ノωノ)
if skin > (w * h) * 0.4:
print("黃圖,禁了!")
else:
print("下乙個!")
注:本例項根據某**提供公式判定,但經過實測,如果使用本例項進行鑑黃,****都有可能被認為是黃圖( ̄ω ̄;) python基礎之語句 Python基礎之條件語句
我們在程式設計中經常需要通過檢查某個條件,從而決定去做什麼。條件語句就是針對這一情景應用的。本篇主要介紹 if 和 while。一 if語句 先來個總覽 if 條件一 條件一對應的 塊 elif 條件二 條件一對應的 塊 else 不滿足條件一和條件二對應的 塊 if 語句的核心就是值為true 或...
Python程式設計基礎之Python基礎
1.只能是乙個詞 2.包含字母,數字和下劃線 3.不能以數字開頭 this program syas hello and asks for your name print hello world1 print what is your name?ask for their name myname i...
python基礎之python介紹
一 python介紹 python的主要應用領域 哪些公司正在應用 cia 美國中情局 就是用python開發的 nasa 美國航天局 nasa 大量使用python進行資料分析和運算 facebook 大量的基礎庫均通過python實現的 redhat 世界上最流行的linux發行版本中的yum包...