Page 167 - python
P. 167

141




                          ตัวอยางที่ 11.6 คําสั่ง %pylab inline เปนการขอใช numpy และ matplotlib คําสั่ง from

                   PIL import Image สําหรับจดการภาพดวยไลบรารี่ PIL ตัวแปร img1 เก็บภาพ lena ตัวแปร gamma
                                           ั
                                                                                         
                   กาหนดใหมีคา 0.8 ตัวแปร img2 สรางภาพสีขาวขนาดเทาภาพ lena จากนั้นวนเขาไปในแนวนอนและ
                    ํ
                                                                              ็
                   แนวตั้งของภาพ ทําการอานคาสีดวยคําสั่ง getpixel ที่ตําแหนง x,y เกบไวในตัวแปร r,g,b จากนั้นแปลง

                   แกมมาดวย สูตร    =            =     และ    =       แลวทําการเขียนคาสีใสลงในตัวแปร img2 จน





                   ครบทุกจุดสี จากนั้นวาดภาพดวยคําสั่ง imshow() จะไดผลลัพธดังภาพดานบน

                   11.10 การเลือกดําเนินการบางสวนภายในภาพ
                                         ี่
                                                                           ํ
                          การระบายพนทภายในภาพจะระบุชวงตําแหนงและกาหนดคาใหมดวยสีที่ตองการ เชน
                                      ื้
                   img[y:y+h, x:x+w] = (0,255,0)

                   ตัวอยางที่ 11.7 การดําเนินการบางสวนภายในภาพ
                    %pylab inline
                    import cv2

                    img = cv2.imread("lena.jpg")
                    x = 200; y = 130;
                    w = 60; h = 10
                    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
                    img2 = img.copy()

                    img2[y:y + h, x : x + w] = (0,255,0)
                    fig = plt.figure(figsize=(10,5))
                    ax = fig.add_subplot(1,2,1)

                    ax.imshow(img)
                    ax.set_title('Original')

                    ax1 = fig.add_subplot(1,2,2)

                    ax1.imshow(img2)
                    ax1.set_title('Area Fill')

                    plt.show()
   162   163   164   165   166   167   168   169   170   171   172