91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV中怎么使用圖像像素

發布時間:2022-03-03 14:02:58 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

這篇文章主要介紹了OpenCV中怎么使用圖像像素的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇OpenCV中怎么使用圖像像素文章都會有所收獲,下面我們一起來看看吧。

    OpenCV中怎么使用圖像像素

    像素是計算機視覺中圖像的重要屬性。它們是表示圖像中特定空間中光的顏色強度的數值,是圖像中數據的最小單位。

    圖像中的像素總數是高度、寬度和通道的乘積。

    由于OpenCV中的圖像被讀取為像素值的Numpy數組,因此可以使用數組切片操作獲取并處理由該區域的像素表示的圖像區域。

    切片操作用于檢索序列子集,如列表、元組和數組,因此可用于獲取圖像區域的像素值,以便進行編輯、格式化或裁剪等處理。

    切片操作

    腳本:使用切片操作獲取列表的子集。

    # 切片字母列表
    letters = ['a', 'b', 'c', 'd', 'e']
     
    # 頭三個字母
    first_three = letters[:3]
     
    # 最后三個字母
    last_three = letters[-3:]
     
    # 得到第二個到第四個字母
    second_to_fourth = letters[1:4]
     
    # 顯示結果
    print('First three letters: ', first_three)
    print('Last three letters: ', last_three)
    print('Second to fourth letters: ', second_to_fourth)

    OpenCV中怎么使用圖像像素

    請注意,我使用索引值對字母列表進行切片。例如,傳遞起始索引1(列表中第二個字母的索引)和4將返回列表的一個片段,從第二個值到第四個值。

    由于索引值用于以這種方式檢索子集,因此它們也用于定位和檢索圖像中感興趣的區域。

    以圖像中的區域為目標的切片由圖像的兩個軸(水平(X)和垂直(Y))的起始值和結束值定義,格式如下:

    image[startY: endY, startx:endX]

    它返回所需感興趣區域的(圖像像素的)Numpy數組。

    那么,我們如何確定感興趣區域的X軸和Y軸的起始值和結束值?

    這些值(startX、endX、startY、endY)是映射出感興趣區域的坐標值。

    使用OpenCV顯示時,這些值不會顯示在圖像旁邊,但我們可以使用其他應用程序(如Photoshop、Corel Draw、Paint e.t.c)或其他python可視化庫(如Matplotlib)來顯示具有X和Y坐標值的圖像。

    一如既往,這在實踐中得到了更好的理解。讓我們使用matplotlib顯示一個圖像。pyplot,我們可以從中檢索坐標,這些坐標映射出圖像中的目標感興趣區域。

    我用加納共和國國旗的圖像來證明這一點。在這里,我的目標是圖像中圍繞黑星的區域。

    獲取感興趣區域的坐標值

    使用Matplotlib加載并顯示圖像

    # 導入matplotlib的plot
    import matplotlib.pyplot as plt
     
    # 加載和顯示原始圖像
    image = plt.imread('Flag_of_Ghana.png')
     
    # 顯示圖片
    plt.imshow("Original", image)
    plt.plot()

    輸出:加載的圖像及其X和Y坐標。

    OpenCV中怎么使用圖像像素

    正如你所看到的,plt.imshow函數返回讀取的圖像以及x和y軸的坐標值。

    然后,我們可以檢索感興趣區域(黑星)的起始和結束坐標值。

    追蹤黑星區域的坐標值

    OpenCV中怎么使用圖像像素

    這幅圖像顯示了如何追蹤黑星周圍區域的坐標。

    我們可以從圖像中檢索坐標(startY(y1)、endY(y2)、startX(x1)、endX(x2))。然后,我們可以定義兩個軸的起點和終點坐標,并裁剪為:

    image[y1: y2, x1:x2]

    if we get y1, y2 = [145, 295] and x1, x2 = [245, 400]

    那么繪制出黑星的區域將是:

    black_star = image[145:295, 245:400]

    這將返回映射感興趣區域(本例中為黑星)的像素值(在Numpy數組中)。

    現在,我們可以利用這種技術對圖像區域進行定位和切片,以進行各種圖像處理。

    使用切片操作裁剪圖像

    1.加載并顯示原始圖像

    # 導入matplotlib的plot
    import matplotlib.pyplot as plt
     
    # 加載和顯示原始圖像
    image = plt.imread('Flag_of_Ghana.png')
     
    # 顯示圖片
    plt.imshow("Original", image)
    plt.plot()

    輸出:顯示加載的圖像。

    OpenCV中怎么使用圖像像素

    2.獲取圖像的空間維度

    # 獲取圖像的空間尺寸
    # 初始化
    originY, originX = 0, 0
     
    # 獲取圖像的高度和寬度
    height, width = image.shape[:2]
     
    # 計算圖像的中心
    (centerX, centerY) = (width // 2, height // 2)
    print('Image height: ', height)
    print('Image width: ', width)
    print('Center location: ', (centerY, centerX))

    輸出:顯示圖像的空間尺寸。

    OpenCV中怎么使用圖像像素

    3.裁剪圖像

    裁剪出圖像的左上角

    # 裁剪圖像的左上角
    # 高度從原點到中心
    # 寬度從原點到中心
     
    top_left = image[originY:centerY, originX:centerX]
    cv2.imshow("Top-Left Corner", top_left)
    cv2.waitKey(0)

    輸出:圖像的左上角

    OpenCV中怎么使用圖像像素

    裁剪出圖像的右上角

    # 裁剪右上角
    # 高度從原點到中心
    # 寬度從中心到右上角(寬度)
     
    top_right = image[originY:centerY, centerX:width]
    cv2.imshow("Top-Right Corner", top_right)
    cv2.waitKey(0)

    輸出:圖像的右上角

    OpenCV中怎么使用圖像像素

    裁剪出圖像的左下角

    # 裁剪左下角
    # 高度從中心到左下角(高度)
    # 寬度從中心到右上角(寬度)
     
    bottom_left = image[centerY:height, originX:centerX]
    cv2.imshow("Bottom-Left Corner", bottom_left)
    cv2.waitKey(0)

    輸出:圖像的左下角

    OpenCV中怎么使用圖像像素

    裁剪出圖像的右下角

    # 裁剪右下角
    # 高度從中心到左下角(高度)
    # 寬度從中心到右上角(寬度)
     
    bottom_right = image[centerY:height, centerX:width]
    cv2.imshow("Bottom-Right Corner", bottom_right)
    cv2.waitKey(0)

    輸出:左下角。

    OpenCV中怎么使用圖像像素

    4.使用尺寸將部分圖像設置為特定顏色。

    # 設置原始圖像的左上角為綠色
    image[originY:centerY, originX:centerX] = (0, 255, 0)
     
    # 顯示更新后的圖像
    cv2.imshow("Updated", image)
    cv2.waitKey(0)

    輸出:將左上角設置為綠色

    OpenCV中怎么使用圖像像素

    關于“OpenCV中怎么使用圖像像素”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“OpenCV中怎么使用圖像像素”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    来宾市| 石狮市| 卓资县| 普兰县| 黑龙江省| 扎赉特旗| 吐鲁番市| 咸宁市| 湘阴县| 遂溪县| 汉源县| 金溪县| 佛山市| 姚安县| 大丰市| 德格县| 门源| 昭苏县| 锦屏县| SHOW| 武夷山市| 嘉禾县| 宜章县| 枝江市| 望城县| 蓝山县| 正蓝旗| 中超| 遵义县| 青岛市| 微博| 甘洛县| 鹰潭市| 昆山市| 米林县| 宜春市| 尉犁县| 周口市| 普洱| 南京市| 梁平县|