您的位置: 旅游網 > 影視 >> 電視資訊

    對視頻進行圖片處呢

    發布時間:2021-10-28 05:24:50

    圖像處理

    在我的程序中圖像處理函數是作為 DirectShow 封裝類一部分的,我認為這樣便于移動和使用。沒有連著上面的 DirectShow 類而另外寫標題是因為我覺得有必要把它提到重要位置。在程序完善階段您的工作基本就在這里了,除了花心思構造D3D環境外幾乎所有效果都要在這里實現,水平高下也體現于此。

    在上可以找到很多圖像特效的代碼和解說,我結合編程過程再說說。

    1. 訪問緩沖區的麻煩。

    這是最麻煩的,二維圖像在這里以一個連續的一維緩沖區呈現,您要靠一個指針去訪問它,怎么辦呢?先弄懂 Pitch,例如 32bit ARGB 圖像,每個象素就占用 4 Byte 內存空間(1 Byte = 8 bit),對于寬度為 20 像素的圖像,它的 Pitch 就是 80 Byte,即每一行占用的內存。按 x 、y 坐標就有如下公式(按 Byte 計算):

    B:y * Pitch + x * 4

    G:y * Pitch + x * 4 + 1

    R:y * Pitch + x * 4 + 2

    A:y * Pitch + x * 4 + 3

    可以看出在內存中是按 BGRA 存儲的,我不明白為什么這樣,可能可以從計算機的內存存儲方式找到答案。上述公式計算多,效率較低,在實際使用中應適時作有益的改變。

    2. 浮雕。

    到目前為止我在上找到的幾篇文章都說把一點的值減去其右下角點的值再加上128就行了。為什么要減去右下角的點呢?為什么要加上128呢?原來浮雕是要把圖像的變化部分突出顯示出來,而把相同部分淡化,所以用一點減去其鄰域任意點都可以達到這個目的,倒也不一定是右下角的點,包圍著它的八個點都可以,甚至可以選擇減去更遠的點,只要規則明確、效果好就行。在相減后點的 RGB 值都減小了,大多接近黑色,黑乎乎一片的看不出什么來,一點也不像浮雕,所以要給它們都增加一個相同的亮度,通常加上128,其它的值,例如64、100,當然也行,一切都以實際效果為準。說到效果,上面所說的RGB相減會造成浮雕有一些色點,解決方法是計算兩點的亮度之差,RGB都賦值為亮度差,畫面就沒色點了,因為已經變成灰度圖了。亮度公式是 Brightness = 0.3 * R + 0.6 * G + 0.1 * B,其中G 的比重最大,可以近似的用 G 作為亮度,在RGB各自的分量圖中也可以明顯看出 G 分量的圖最亮,簡單的把 G 的值賦給 R 和 B 就得到灰度圖了,這可以減少計算,提高速度。后來我還看到這樣的話句,\"用3 * 3 的小塊做的浮雕效果更好\",不過我不知道怎么用,可能這樣就可以實現 PhotoShop 那樣更好的浮雕效果。

    原理是這樣了,到了編程卻是另外一回事:能夠把規則、數學公式轉換為程序也是能力的一種體現。如果要減去右下角的點,那么最右一列和最后一行是要特殊處理的,否則肯定會發生內存訪問錯誤,想一想就知道為什么;如果要減去左邊的點,第一列也要特殊處理,請問第一列的點到哪里找它左邊的點呢?不要小視此問題,它會令你訪問內存時遇到一些問題。

    那些被認為是標普指數表現最差的相關因子 3. 鉛筆畫

    鉛筆畫原理和浮雕差不多,也是亮度相減,認為變化大的是邊緣,然后設置一個閥值,例如差值大于8,則把該點設為黑色(0,0,0),要不設為白色(255,255,255)。閥值、色彩都可任意設置,沒人要您拘束就不要忸忸怩怩的不敢改動。

    按照此方法得到的效果實在不怎么樣,可惜我不是研究圖像的料,對數據的處理能力很差,同樣一幅在專家手中可以玩出很多花樣的圖片,淪落到我手上也只能飲恨屈膝投降無奈了。這是我看了一些圖像處理方面資料和書籍所發的呆嘆,圖像處理實在太精深了,既要數學、物理知識雄厚,又要腦子靈活能東移西就把各種知識綜合運用,不然就只好望洋興嘆。

    4. 加亮、對比度等

    首先悲痛的說明,我曾努力的要實現色度、飽和度的調整,知道是要把 RGB 轉換成 HLS 之類的顏色空間才能實現,也找到了一些它們之間轉換的說明和轉換函數,可惜看不明白,或者說那些材料根本不打算讓我明白!這不單是氣話,而且事實,我真的十分氣憤:怎么能夠在前面鋪了一大堆\"效果圖\"說了一大堆廢話然后給個只有幾行無大用的注釋的代碼就可以呢?!盡管如此憤概,我還是乖乖的抄了程序,希冀能發揮作用,結果卻是失望:不僅效率低下,而且在調整了飽和度的同時使圖像出現不協調的彩色方塊。由于不知道原理,無法改動,于是我放棄了它。

    調整亮度很簡單,例如要加亮 10,把 RGB 都加上 10 就可以了,減亮就減10。

    對比度調整也不難,書上說是要令亮點更亮、暗點更暗,好像是要找出亮點來增亮、找出暗點加暗,其實不然,把所有點都乘以一個數,把亮暗點的差距拉大或減小就能調整對比度了。把圖像原來的對比度定為 1,要增大對比度就調整為 1.3 、2 等大于1 的數,把每個點的 RGB 都乘以它,就行了,要降低就把數值設為 0 至 1 的數。只要注意保持 RGB 的值在 0 ~ 255 中即可。

    上海治療婦科醫院
    昆明治療早泄哪家好
    小孩子厭食不吃飯怎么辦
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 精品国产欧美一区二区| 亚洲av无码专区在线观看下载| 91国视频在线| 最近高清中文在线国语字幕| 国产乱子伦视频在线观看| 一区二区三区视频网站| 毛片a级毛片免费观看品善网| 国产欧美va欧美va香蕉在线| √8天堂资源地址中文在线| 欧美精品xxxxbbbb| 国产在线一区二区三区av| 三级国产三级在线| 欧美高清视频www夜色资源网| 国产婷婷高清在线观看免费| 一个人看的www免费高清中文字幕 一个人看的www免费高清中文字幕 | 国产亚洲美女精品久久久| 51久久夜色精品国产| 日本亚洲色大成网站www久久| 你懂的视频在线播放| 日本xxxxbbbb| 成人网视频免费播放| 亚洲最新中文字幕| 视频一区视频二区制服丝袜| 好爽好多水好得真紧| 亚洲乱码无码永久不卡在线| 男人边吃奶边做边爱完整| 国产欧美视频高清va在线观看| 99精品视频在线在线视频观看| 日韩欧美亚洲精品| 免费无码又爽又黄又刺激网站| 18禁免费无码无遮挡不卡网站| 无码中文字幕色专区| 亚洲av日韩av无码av| 欧美黑人巨大videos在线| 免费看特级毛片| 脱裙打光屁股打红动态图| 国产高清一级片| 久久久久亚洲av无码专区| 波多野结衣办公室33分钟| 午夜理伦三级播放| 亚洲人成在线播放网站岛国|