Opencv-Python圖像像素均值厂画、方差凸丸,繪制幾何形狀

圖像像素均值、方差

計(jì)算數(shù)組元素的均值和方差函數(shù)cv.meanStdDev()袱院。傳入數(shù)組數(shù)據(jù)屎慢,返回?cái)?shù)組數(shù)據(jù)的均值和方差。在圖像數(shù)組中忽洛,可以計(jì)算出圖像數(shù)組的像素均值和方差腻惠。

使用np.minnp.max可以計(jì)算數(shù)組元素的最小值和最大值。在圖像數(shù)組中欲虚,可以計(jì)算每個(gè)通道像素最小值和最大值集灌。

以下面圖像為例,計(jì)算該圖像的像素均值和方差苍在,以及每個(gè)通道的像素最小值和最大值绝页。

實(shí)驗(yàn)圖片
# -*-coding:utf-8-*-
"""
File Name: image_shape_painting.py
Program IDE: PyCharm
Date: 21:12
Create File By Author: Hong
"""
import cv2 as cv
import numpy as np

def pixel_operation(image_path: str):
    img = cv.imread(image_path, cv.IMREAD_COLOR)
    cv.imshow('input', img)

    # 注意:python中的print函數(shù)默認(rèn)換行荠商,可以用end=''或者接任意字符
    # 像素均值、方差
    means, dev = cv.meanStdDev(img)
    print('means: {}, \n dev: {}'.format(means, dev))
    # 像素最大值和最小值
    min_pixel = np.min(img[:, :, 0])
    max_pixel = np.max(img[:, :, -1])
    print('min: {}, max: {}'.format(min_pixel, max_pixel))

    # 若是一個(gè)空白圖像
    blank = np.zeros((300, 300, 3), dtype=np.uint8)
    # 像素均值续誉、方差
    # blank[:, :] = (255, 0, 255)
    means, dev = cv.meanStdDev(blank)
    print('means: {}, \n dev: {}'.format(means, dev))

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/2.png'
    pixel_operation(path)

運(yùn)行結(jié)果:

means: [[182.14066441]
 [159.24370946]
 [144.10951802]], 
 dev: [[49.00258211]
 [44.59737827]
 [38.95002303]]
min: 14, max: 255
means: [[0.]
 [0.]
 [0.]], 
 dev: [[0.]
 [0.]
 [0.]]

繪制幾何形狀

使用opencv中一些幾何函數(shù)可以在圖像上繪制幾何形狀莱没,這些函數(shù)有:cv.rectangle()cv.circle()酷鸦,cv.line()饰躲,cv.putText()。分別是繪制矩形臼隔、圓嘹裂、直線和文字。

關(guān)于這些函數(shù)的使用在這里不做過多贅述摔握。主要將以下cv.putText()顯示中文亂碼的問題寄狼。

比如正常情況下我運(yùn)行:cv.putText(img1, 'Hello, World!', (50, 50), cv.FONT_HERSHEY_SIMPLEX, 1.0, (255, 0, 0), 2, 8)
可以顯示正常。

英語顯示正常

一旦改成中文氨淌,就顯示亂碼泊愧。cv.putText(img1, '你好,世界', (50, 50), cv.FONT_HERSHEY_SIMPLEX, 1.0, (255, 0, 0), 2, 8)

中文顯示亂碼

解決方法:寫一個(gè)繪制文字的函數(shù)盛正,解決中文亂碼問題删咱。

# 彌補(bǔ)putText()顯示中文亂碼的問題
def image_add_text(img, text, left, top, text_color, text_size):
    if isinstance(img, np.ndarray): # 判斷是否是opencv圖片類型,是就轉(zhuǎn)換Image類型
        image = Image.fromarray(cv.cvtColor(img, cv.COLOR_BGR2RGB))

    # 創(chuàng)建一個(gè)可以在給定圖像上繪制的對(duì)象
    draw = ImageDraw.Draw(image)
    # 字體的格式
    font_style = ImageFont.truetype("font/simsun.ttc", text_size, encoding='utf-8')
    # 繪制文本
    draw.text((left, top), text, text_color, font=font_style)
    # 轉(zhuǎn)換回opencv格式并返回
    return cv.cvtColor(np.asarray(image), cv.COLOR_RGB2BGR)

完整代碼:繪制幾何形狀和文字豪筝。

# -*-coding:utf-8-*-
"""
File Name: image_shape_painting.py
Program IDE: PyCharm
Date: 21:12
Create File By Author: Hong
"""
import cv2 as cv
import numpy as np
from PIL import Image, ImageDraw, ImageFont


# 彌補(bǔ)putText()顯示中文亂碼的問題
def image_add_text(img, text, left, top, text_color, text_size):
    if isinstance(img, np.ndarray): # 判斷是否是opencv圖片類型痰滋,是就轉(zhuǎn)換Image類型
        image = Image.fromarray(cv.cvtColor(img, cv.COLOR_BGR2RGB))

    # 創(chuàng)建一個(gè)可以在給定圖像上繪制的對(duì)象
    draw = ImageDraw.Draw(image)
    # 字體的格式
    font_style = ImageFont.truetype("font/simsun.ttc", text_size, encoding='utf-8')
    # 繪制文本
    draw.text((left, top), text, text_color, font=font_style)
    # 轉(zhuǎn)換回opencv格式并返回
    return cv.cvtColor(np.asarray(image), cv.COLOR_RGB2BGR)


def drawing_demo():
    img1 = np.zeros((512, 512, 3), dtype=np.uint8)

    temp = np.copy(img1)
    # 繪制矩形
    cv.rectangle(img1, (50, 50), (400, 400), (0, 0, 255), 4, 8, 0)
    # 繪制圓形
    cv.circle(img1, (200, 200), 100, (255, 0, 0), -1, 8, 0)
    # 繪制直線
    cv.line(img1, (50, 50), (400, 400), (0, 255, 0), 2, 8, 0)
    # 寫文字
    # cv.putText(img1, '你好,世界', (50, 50), cv.FONT_HERSHEY_SIMPLEX, 1.0, (255, 0, 0), 2, 8)
    img1 = image_add_text(img1, '你好续崖,世界', 50, 50, (255, 0, 0), 20)

    # # 擦除
    # # 方法1
    # img1[:, :, :] = 0
    # # 方法2
    # img1 = temp

    cv.imshow('input', img1)

    cv.waitKey(0)
    cv.destroyAllWindows()


if __name__ == '__main__':
    path = 'images/2.png'
    drawing_demo()

結(jié)果成功顯示中文敲街。完美!

中文顯示正常

更多計(jì)算機(jī)視覺知識(shí)袜刷,請(qǐng)關(guān)注微信公眾號(hào) “AI與計(jì)算機(jī)視覺”聪富。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市著蟹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梢莽,老刑警劉巖萧豆,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異昏名,居然都是意外死亡涮雷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門轻局,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洪鸭,“玉大人样刷,你說我怎么就攤上這事±谰簦” “怎么了置鼻?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蜓竹。 經(jīng)常有香客問我箕母,道長(zhǎng),這世上最難降的妖魔是什么俱济? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任嘶是,我火速辦了婚禮,結(jié)果婚禮上蛛碌,老公的妹妹穿的比我還像新娘聂喇。我一直安慰自己,他們只是感情好蔚携,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布希太。 她就那樣靜靜地躺著,像睡著了一般浮梢。 火紅的嫁衣襯著肌膚如雪跛十。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天秕硝,我揣著相機(jī)與錄音芥映,去河邊找鬼。 笑死远豺,一個(gè)胖子當(dāng)著我的面吹牛奈偏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躯护,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惊来,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了棺滞?” 一聲冷哼從身側(cè)響起裁蚁,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎继准,沒想到半個(gè)月后枉证,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡移必,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年室谚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秒赤,死狀恐怖猪瞬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情入篮,我是刑警寧澤陈瘦,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站崎弃,受9級(jí)特大地震影響甘晤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饲做,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一线婚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盆均,春花似錦塞弊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肮砾,卻和暖如春诀黍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背仗处。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工眯勾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人婆誓。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓吃环,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親洋幻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子郁轻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容