logo
Loading...

影像翻轉縮放與平移問題 - Cupoy

老師您好,經過D4提供的sample做練習,有幾個問題想請教老師:一、翻轉1. 請問這個程式碼的h,...

翻轉,平移,縮放,第四天

影像翻轉縮放與平移問題

2019/11/28 下午 04:54
電腦視覺深度學習討論版
塔米
觀看數:4
回答數:4
收藏數:0
翻轉
平移
縮放
第四天

老師您好,經過D4提供的sample做練習,有幾個問題想請教老師:

一、翻轉

1. 請問這個程式碼的h, w, c分別是什麼意思?

2. 爬文關於翻轉的文章,發現有這個寫法,請問跟上面的寫法有何不同呢?

flipVertical = cv2.flip(originalImage, 0)
flipHorizontal = cv2.flip(originalImage, 1)
flipBoth = cv2.flip(originalImage, -1)

二、縮放
1. 在sample裡面,有個計算花費時間部分,請問這個程式碼start_time = time.time(),是什麼意思?
2. 我發現使用cv2.INTER_LINEAR、cv2.INTER_CUBIC花費時間有差〈cv2.INTER_LINEAR花費時間跟cv2.INTER_NEAREST差不多;而cv2.INTER_CUBIC所花時間與前者多4倍〉,但圖片品質看似差不多?請問這是為什麼呢?


三、平移

在sample裡面,我看到一個程式碼如下:

shift_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))


再回頭看教材所寫的這個程式碼:

請問:

1. img.shape[1]、img.shape[0]是什麼意思?

2. 教材寫的column跟row是指?


以上問題,請老師多指教了,謝謝

回答列表

  • 2019/11/28 下午 08:00
    Liaw Jiun
    贊同數:1
    不贊同數:0
    留言數:0

    一、翻轉

    1. 請問這個程式碼的h, w, c分別是什麼意思? h: image height,  w: image_width, c: channel=(3=R,G,B)

  • 2019/11/28 下午 08:04
    Liaw Jiun
    贊同數:1
    不贊同數:0
    留言數:1

    請問:

    1. img.shape[1]、img.shape[0]是什麼意思?

    img.shape會給出三個值=[h, w, c]

    Ans.:

     img.shape[1](img.shape答案矩陣中第2個元素) = image_width

    img.shape[0] (img.shape答案中矩陣中第1個元素)= image_height


    2. 教材寫的column跟row是指?

    Ans.: row列, 就是image的y軸, 高= img_height

    column行, 就是image的x軸, 寬 = img_width

  • 2019/11/28 下午 08:57
    Jeffrey
    贊同數:1
    不贊同數:0
    留言數:1

    二、縮放

    # 計算程序運行的時間間
    start_time
    =  time.time()
    time.sleep(
    2)
    end_time
    = time.time()
    print(end_time
    - start_time)


    cv2.INTER_CUBIC --> 差值與縮放比例計算方式, 在4×4像素鄰域上的雙三次插值, 高pixel 損失少.

  • 2019/11/28 下午 09:03
    Jeffrey
    贊同數:1
    不贊同數:0
    留言數:1

    補充說明, 一張圖像表示方式: 長x寬xchannel 數;

    Channel : 彩色 RGB, channel = 3, 單色或黑白 channel =1;

    所以image 可以以 hxwxc ; 是一個3維data.

    img.shape 就是表示 image 的 data 維度: h, w, c;

    img.shape[0:2] = [h,w,c]