东南电通系影像处理之简易影像转换复制外部影像: 影像左右互换:.PDF

东南电通系影像处理之简易影像转换复制外部影像: 影像左右互换:.PDF

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东南电通系影像处理之简易影像转换复制外部影像: 影像左右互换:

東南電通系 影像處理之簡易影像轉換 複製外部影像: richTo.getClone(gRichImage); // 複製一份 gRichImage 的內容到 richTo 影像左右互換: 先算出中心點位置,接著只要將與中心點左右對稱的像素對調即可! 中心點的算法: 首先讓我們看看底下的說明: 1) 像素編號由 1 開始: 1,2,3,4 , 5,6,7,8 = 中心點介於4, 5 之間,而 (int) (8/2) = 4 ; 1,2,3,4, 5 ,6,7,8, 9 = 中心點5 ,不過 (int) (9/2) = 4 。 2) 像素編號由0 開始 0,1,2,3 , 4,5,6,7 = 中心點介於3, 4 之間,而 (int) (8/2) = 4 ; 0,1,2,3, 4 ,5,6,7,8 = 中心點4 ,且 (int) (9/2) = 4 。 顯然水平方向的像素數目是奇數或偶數時,會對應到不同的情況: 奇數的情況下,中心對稱軸上的點不必更動,僅需要把左右兩邊對稱位置的點互換即可; 偶數的情況下,不存在中心對稱軸,要把左右兩邊對稱位置的點互換。 假設影像的寬度是W (水平方向像素的數目) ,由於在我們的程式設定中,最左邊像素編號由0 開 始,所以最右邊的像素編號為(W-1) ,也因此透過上述的討論可知,每一列中需要交換的對數(兩兩 對稱成對)為:(int) (W/2) 。 因此同學可參考底下的虛擬碼 (pseudo code) : //=== 由上往下,從左而右地訪問一半的 pixels int w = richTo.getWidth(); int h = richTo.getHeight(); int halfW = (int) (w/2); // 為什麼是一半? for (int r=0; r h; ++r) { for (int c=0; c halfW; ++c) { Swap(richTo[r][c], richTo[r][ -c]); // 交換像素,Swap(.)請自行撰寫! } } 1 / 4 東南電通系 影像處理之簡易影像轉換 影像上下互換: 原理與水平互換相同,只是像素交換的方向變成上下而已!同學試著自行修改並呈現結果! //=== 由左到右,從上而下地訪問一半的 pixels int h = richTo.getHeight(); int w = richTo.getWidth(); int halfH = (int) (h/2); // 為什麼是一半? for (int c=0; c w; ++c) { for (int r=0; r halfH; ++r) { Swap(richTo[r][c], richTo[ ][c]); // 完成交換像素 } } (*上述Swap(.)函式請自行撰寫!) 2 / 4 東南電通系 影像處理之簡易影像轉換 影像順時針或逆時針旋轉 90 度: 上述水平互換,轉換前後的影像尺寸不變。通常而言,除非影像的長寬相同,否則不管是將影像作 順或逆時針旋轉 90 度,轉換前後的影像尺寸將會不同,即長與寬的大小會互換。因此一開始我們 需要先產生一個影像其大小與旋轉後影像一樣,再根據相關的位置讀取原來影像的內容,並拿來填 滿這個旋轉後的影像。 順時針(CW) 90 度旋轉 順時針(CW) 90 度旋轉 richTo[r][c] = rich[ ][ ]; 逆時針(CCW) 90 度旋轉 richTo[r][c] = rich[

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档