最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題

 更新時(shí)間:2020年06月03日 09:45:35   作者:木易依  
這篇文章主要介紹了解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

問(wèn)題描述

今天在使用Numpy中的矩陣做相減操作時(shí),出現(xiàn)了一些本應(yīng)為負(fù)值的位置自動(dòng)轉(zhuǎn)換為了正值,

觀察發(fā)現(xiàn)轉(zhuǎn)換后的正值為原本的負(fù)值加上256得到,具體情況如下:

正常情況矩陣相減樣例如下

>>> import numpy as np
>>> arr = np.array([98,100,103,161,192,210])
>>> brr = np.array([105,105,106,197,196,195])
>>> crr = arr-brr
>>> print(crr)
[ -7 -5 -3 -36 -4 15]

錯(cuò)誤代碼如下:

path = './image/Blur/blur5.png'
kernel_size = (21, 21);
sigma = 0;
img = cv2.imread(path)
img2gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img2blur = cv2.GaussianBlur(img2gray, kernel_size, sigma);
grayMat = np.matrix(img2gray)
blurMat = np.matrix(img2blur)
finalMat = blurMat-grayMat
print(grayMat[0,0:10])
print(blurMat[0,0:10])
print(finalMat[0,0:10])

得到的結(jié)果值如下:

[[173 171 169 171 174 179 181 182 180 180]]
[[172 172 172 173 173 174 174 173 171 168]]
[[255 1 3 2 255 251 249 247 247 244]]

解決方案

以上出現(xiàn)的矩陣相減得到的結(jié)果值自動(dòng)轉(zhuǎn)換的問(wèn)題是因?yàn)橹苯油ㄟ^(guò)grayMat = np.matrix(img2gray)

得到的dtype類型是unit8類型的,只需要在開(kāi)始時(shí)設(shè)置為np.int32即可正常完成相減.即:

grayMat = np.matrix(img2gray ,dtype=np.float64)

補(bǔ)充知識(shí):有關(guān)于python數(shù)字圖像處理出現(xiàn)矩陣相減沒(méi)有負(fù)數(shù)(值都在0-255)的情況分析

問(wèn)題的發(fā)現(xiàn):

這些天在做我們本校課程機(jī)器學(xué)習(xí)大作業(yè)的過(guò)程中遇到了一些瓶頸:在我使用有關(guān)數(shù)字圖像矩陣運(yùn)算的過(guò)程中兩個(gè)參數(shù)矩陣相減(譬如 R通道的值-G通道的值)的時(shí)候,測(cè)試結(jié)果的輸出一直是正數(shù),且其值都在(0-255)中,這給我?guī)?lái)了不少麻煩。

測(cè)試代碼如下

print(imgs_train[1][:,:,1])
print("====================================")
print(imgs_train[1][:,:,2])
print("====================================")
print(imgs_train[1][:,:,1]-imgs_train[1][:,:,2])

輸出結(jié)果為

[[141 143 144 ... 90 90 68]
 [139 141 141 ... 88 90 68]
 [140 141 140 ... 87 90 68]
 ...
 [ 52 52 52 ... 85 83 81]
 [ 52 52 52 ... 85 83 81]
 [ 52 52 52 ... 85 83 81]]
====================================
[[171 173 172 ... 106 107 84]
 [169 171 169 ... 106 107 86]
 [169 170 169 ... 107 109 88]
 ...
 [ 40 40 43 ... 68 66 64]
 [ 40 40 43 ... 68 66 64]
 [ 40 40 43 ... 68 66 64]]
====================================
[[226 226 228 ... 240 239 240]
 [226 226 228 ... 238 239 238]
 [227 227 227 ... 236 237 236]
 ...
 [ 12 12 9 ... 17 17 17]
 [ 12 12 9 ... 17 17 17]
 [ 12 12 9 ... 17 17 17]]

可以看得出來(lái),雖然兩個(gè)矩陣相減,但是理應(yīng)為負(fù)值的元素卻像是取模了一般又變?yōu)榱苏龜?shù)(255+計(jì)算結(jié)果),導(dǎo)致這樣情況的原因其實(shí)是因?yàn)榫仃嚨脑仡愋陀嘘P(guān)。默認(rèn)來(lái)說(shuō)這樣的矩陣類型是uint8即無(wú)符號(hào)8bit整型,這樣進(jìn)行相減當(dāng)然得不出正確結(jié)果。

問(wèn)題的解決

在查閱相關(guān)資料之后,發(fā)現(xiàn)可以通過(guò)設(shè)置其元素格式進(jìn)行運(yùn)算,從而規(guī)避了無(wú)負(fù)數(shù)結(jié)果的發(fā)生。

測(cè)試代碼如下:

print(imgs_train[1][:,:,1])
print("====================================")
print(imgs_train[1][:,:,2])
print("====================================")
print(imgs_train[1][:,:,1].astype(np.float32)-imgs_train[1][:,:,2].astype(np.float32))

結(jié)果顯示為:

[[141 143 144 ... 90 90 68]
 [139 141 141 ... 88 90 68]
 [140 141 140 ... 87 90 68]
 ...
 [ 52 52 52 ... 85 83 81]
 [ 52 52 52 ... 85 83 81]
 [ 52 52 52 ... 85 83 81]]
====================================
[[171 173 172 ... 106 107 84]
 [169 171 169 ... 106 107 86]
 [169 170 169 ... 107 109 88]
 ...
 [ 40 40 43 ... 68 66 64]
 [ 40 40 43 ... 68 66 64]
 [ 40 40 43 ... 68 66 64]]
====================================
[[-30. -30. -28. ... -16. -17. -16.]
 [-30. -30. -28. ... -18. -17. -18.]
 [-29. -29. -29. ... -20. -19. -20.]
 ...
 [ 12. 12. 9. ... 17. 17. 17.]
 [ 12. 12. 9. ... 17. 17. 17.]
 [ 12. 12. 9. ... 17. 17. 17.]]

綜上所述,在遇到矩陣不明數(shù)值類型的時(shí)候可以指定其類型,之后矩陣元素就會(huì)以這樣的數(shù)值類型進(jìn)行計(jì)算。

以上這篇解決numpy矩陣相減出現(xiàn)的負(fù)值自動(dòng)轉(zhuǎn)正值的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python基于pip實(shí)現(xiàn)離線打包過(guò)程詳解

    Python基于pip實(shí)現(xiàn)離線打包過(guò)程詳解

    這篇文章主要介紹了Python基于pip實(shí)現(xiàn)離線打包過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python實(shí)現(xiàn)數(shù)獨(dú)游戲 java簡(jiǎn)單實(shí)現(xiàn)數(shù)獨(dú)游戲

    python實(shí)現(xiàn)數(shù)獨(dú)游戲 java簡(jiǎn)單實(shí)現(xiàn)數(shù)獨(dú)游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)獨(dú)游戲和java實(shí)現(xiàn)數(shù)獨(dú)游戲的相關(guān)代碼,比較兩種語(yǔ)言實(shí)現(xiàn)數(shù)獨(dú)游戲的區(qū)別
    2018-03-03
  • python中如何進(jìn)行連乘計(jì)算

    python中如何進(jìn)行連乘計(jì)算

    在本篇文章里小編給大家分享的是關(guān)于python連乘計(jì)算的代碼,有興趣的朋友們可以參考學(xué)習(xí)下。
    2020-05-05
  • Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析

    Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Python爬取YY評(píng)級(jí)分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法示例

    Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法示例

    這篇文章主要介紹了Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法,結(jié)合實(shí)例形式分析了Python變量、自定義函數(shù)的概念、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • python發(fā)騰訊微博代碼分享

    python發(fā)騰訊微博代碼分享

    本文介紹了利用qwebview寫(xiě)的一個(gè)發(fā)騰訊微博的功能,大家可以改成新浪微博,原理是一樣的,大家參考使用吧
    2014-01-01
  • Python+Pygame實(shí)現(xiàn)之走四棋兒游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)現(xiàn)之走四棋兒游戲的實(shí)現(xiàn)

    大家以前應(yīng)該都聽(tīng)說(shuō)過(guò)一個(gè)游戲:叫做走四棋兒。直接在家里的水泥地上用燒完的炭火灰畫(huà)出幾條線,擺上幾顆石頭子即可。當(dāng)時(shí)的火爆程度可謂是達(dá)到了一個(gè)新的高度。本文將利用Pygame實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-07-07
  • 使用Python批量移除Word文檔水印的代碼示例

    使用Python批量移除Word文檔水印的代碼示例

    移除Word文檔中的水印可以減少不必要的麻煩,通過(guò)使用Python這樣的編程語(yǔ)言,我們可以輕松實(shí)現(xiàn)自動(dòng)化操作,高效地移除Word文檔中的水印,確保文檔的專業(yè)性和準(zhǔn)確性,本文將介紹如何使用Python批量移除Word文檔中的水印
    2024-07-07
  • python獲取屏幕截圖區(qū)域坐標(biāo)簡(jiǎn)單代碼和思路

    python獲取屏幕截圖區(qū)域坐標(biāo)簡(jiǎn)單代碼和思路

    這篇文章主要介紹了python獲取屏幕截圖區(qū)域坐標(biāo)的相關(guān)資料,文章介紹了一個(gè)獲取屏幕截圖區(qū)域信息的簡(jiǎn)單方法,通過(guò)鼠標(biāo)操作確定截圖區(qū)域的左上角和右下角坐標(biāo),計(jì)算出區(qū)域的寬度和高度,并返回這些參數(shù),以便進(jìn)行后續(xù)的數(shù)字識(shí)別和比較操作,需要的朋友可以參考下
    2024-11-11
  • Pytorch深度學(xué)習(xí)之實(shí)現(xiàn)病蟲(chóng)害圖像分類

    Pytorch深度學(xué)習(xí)之實(shí)現(xiàn)病蟲(chóng)害圖像分類

    PyTorch是一個(gè)開(kāi)源的Python機(jī)器學(xué)習(xí)庫(kù),基于Torch,用于自然語(yǔ)言處理等應(yīng)用程序。它具有強(qiáng)大的GPU加速的張量計(jì)算和自動(dòng)求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)。本文將介紹如何通過(guò)PyTorch實(shí)現(xiàn)病蟲(chóng)害圖像分類,感興趣的可以學(xué)習(xí)一下
    2021-12-12

最新評(píng)論

祁东县| 南平市| 天津市| 自治县| 莫力| 千阳县| 望城县| 克东县| 龙游县| 南江县| 五指山市| 凤山市| 富宁县| 彩票| 肃南| 达州市| 北流市| 长乐市| 绍兴县| 陇南市| 亳州市| 本溪| 平南县| 东丰县| 美姑县| 金寨县| 华宁县| 土默特左旗| 张家界市| 漠河县| 吉水县| 长武县| 隆林| 南城县| 博兴县| 神木县| 茂名市| 岑溪市| 翁牛特旗| 通辽市| 宿松县|