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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

【matlab图像处理】图像的算术运算实践

發布時間:2024/1/1 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【matlab图像处理】图像的算术运算实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中國史之【推行國野制】:
國野制產生于周初的武力征服,是西周的社會等級制度。國是統治宗族聚居的城郭和郊區,野則是被征服者散居的鄙野。國人享有一定的權利,是周朝軍隊的主力。野人的義務則是農業生產,是井田制下的勞動者。
——來源:全歷史APP

俗話說:“好記性不如爛筆頭”,多寫寫多記記,總不會錯。多一些不為什么的堅持,少一些功利主義的追求。

今天介紹圖像的算術運算實踐。單看課本知識,不去動手,難以體會到視覺效果的沖擊感。本內容參考自《實用MATLAB圖像和視頻處理》第6章。

  • 對于matlab2021的安裝,可以參考公眾號【CV之道】的文章:【matlab安裝】手把手圖文并茂安裝matlab2021(win10版)

圖像處理工具包中提供了4個函數用于進行圖像算術運算,分別是imadd、imsubtract、immultiply、imdivide。工具包內的函數會自動處理溢出問題。

1、圖像加法–imadd

圖像加法可通過對每個像素值加一個常數值來使圖像變亮。它也可以用來將兩幅圖像混合成一幅圖像。編碼如下:

首先,新建一個腳本,然后編寫相關代碼,然后點運行。這里我出現了錯誤,錯誤提示為“不支持將腳本imadd作為函數執行”,這是因為imadd是圖像工具包的內置函數,所以我不能再命名我的腳本為imadd.m,需要重命名。我重命名為img_add.m,最終運行效果如下:

我們也可以使用imadd函數來混合兩幅圖像,代碼和效果如下:

%使用函數imadd來對所有像素值加一個常數,以增亮一幅圖像 I = imread('kobe.jpg'); I2 = imadd(I , 75); figure subplot(1,2,1), imshow(I), title('kobe'); subplot(1,2,2), imshow(I2), title('Brighter kobe');%使用函數imadd來混合兩幅圖像 img1 = imread('kobe.jpg'); img2 = imread('star.jpg'); img3 = imadd(img1, img2); figure subplot(1,3,1), imshow(img1), title('kobe'); subplot(1,3,2), imshow(img2), title('star'); subplot(1,3,3), imshow(img3), title('kobe in star');


Respect to kobe。這效果還不錯吧,就一句函數,學會圖像處理,最直接的好處就是不需要再去學PS。

2、圖像減法–imsubtract

圖像減法和加法是類似的操作,它可以減去一個標量使圖像變暗,也可以兩幅圖像相減,來找出他們之間的差異。這在于比較兩幅圖像是否相同時很有用。代碼和效果如下:

%使用函數imsubtract來對所有像素值減一個常數,以變暗一幅圖像 I = imread('star.jpg'); I2 = imsubtract(I , 75); figure subplot(1,2,1), imshow(I), title('star'); subplot(1,2,2), imshow(I2), title('Darker star');%使用函數imsubtract來比較兩幅圖像 img1 = imread('kobe.jpg'); img2 = imread('star.jpg'); img3 = imsubtract(img1, img2); figure subplot(1,3,1), imshow(img1), title('kobe'); subplot(1,3,2), imshow(img2), title('star'); subplot(1,3,3), imshow(img3), title('kobe in star');


3、圖像乘法–immultiply

圖像乘法將兩幅圖像中具有相同坐標的像素值相乘。這可用在稱為動態放縮的增亮過程中,相比對每個像素加個常數的操作,其變亮效果更加自然。其效果圖如下:

%使用函數immultiply來動態放縮圖像,以達到變亮效果 I = imread('moon.tif'); I2 = imadd(I , 50); I3 = immultiply(I, 1.2); figure subplot(1,3,1), imshow(I), title('original image'); subplot(1,3,2), imshow(I2), title('normal brightening'); subplot(1,3,3), imshow(I3), title('dynamic scaling');


從上面的結果可以明顯看出,如果只是單純的對像素值加一個標量,其整個圖片都會顯得蒼白(如中間圖片所示)。如果使用動態放縮,它的增亮細節會更加清晰,對比度更好。

另外,圖像乘法也可以產生一些特殊的效果,比如人工的3D外觀。將一幅平坦的圖像與梯度相乘就可以產生3D紋理表面的錯覺。代碼如下:

%使用函數immultiply來生成一個人工3D的行星 img1 = im2double(imread('earth1.tif')); img2 = im2double(imread('earth2.tif')); img3 = immultiply(img1, img2); figure subplot(1,3,1), imshow(img1), title('Planet Image'); subplot(1,3,2), imshow(img2), title('Gradient'); subplot(1,3,3), imshow(img3), title('3D Planet');


呃,其實3D效果并不是很明顯。。

4、圖像除法–imdivide

圖像除法可用作動態放縮的翻轉操作。當然,同樣的效果可以使用函數immultiply實現。代碼和效果如下:

%使用函數imdivide來動態放縮圖像,以達到變暗效果 I = imread('moon.tif'); I2 = imdivide(I , 2); I3 = immultiply(I, 0.5); figure subplot(1,3,1), imshow(I), title('original image'); subplot(1,3,2), imshow(I2), title('Darker w/ Division'); subplot(1,3,3), imshow(I3), title('Darker w/ Multiplication');


圖像除法的另一個用途是從一幅圖像中提取背景。這常用作一個復雜操作的預處理步驟。我們先看看要處理的文檔圖像如下:

notext = imread('gradient.tif'); text = imread('gradient_with_text.tif'); figure imshow(text), title('original Image')


這幅圖像可以代表一個文檔,它是在不均勻的光照條件下掃描得到的。因為背景的緣故,這幅圖像中的文字不能直接處理,即需要先對圖像進行預處理,然后才能處理文字。

如果背景是均勻的,可使用閾值化來從背景中提取文字像素。閾值化是一種簡單地將一幅圖像轉換成其二值圖的過程。

比較好理解,就是定義一個閾值作為臨界值,低于該閾值的像素被設置為全黑像素,而高于閾值的設置為全白像素。我們用代碼驗證一下可不可用閾值來解決這個問題。

%使用閾值來提取前背景 level = graythresh(text); BW = im2bw(text, level); figure, imshow(BW)


其效果如上,我們使用內置函數graythresh來設置一個閾值,但其并不能很好將文字和背景區分開,僅得到部分需要的文字。

如果我們有機會得到圖片的背景圖片,那么使用函數imdivide就可以提取出前景。在實際中(如掃描文檔)得到這樣的背景圖像,有可能需要掃描一張僅有非均勻光照背景的黑紙。代碼和效果如下:

%用圖像除以背景來消除背景 fixed = imdivide(text, notext); figure subplot(1,3,1), imshow(text), title('original Image'); subplot(1,3,2), imshow(notext), title('Background Only'); subplot(1,3,3), imshow(fixed, []), title('Divided Image');


從上面的效果可以看到,如果我們拿到背景圖后,可以很簡單地圖像相除即可得到清晰的文字內容。難就難在背景圖不好得到。

以上是本期內容,建議自己動手來實踐一下。如果需要圖片和代碼,可以關注公眾號,回復關鍵字【matlab代碼】即可獲得。我會上傳到云盤。

【聲明】:學習筆記基于互聯網上各種學習資源的個人整理。

以上是本期內容,下期介紹圖像處理的邏輯運算實踐。

我叫小保,一名計算機視覺愛好者、學習者、追隨者,歡迎關注我一起學習。

總結

以上是生活随笔為你收集整理的【matlab图像处理】图像的算术运算实践的全部內容,希望文章能夠幫你解決所遇到的問題。

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