<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          圖像特效顯示 | 水平柵條特效等

          共 1313字,需瀏覽 3分鐘

           ·

          2020-12-23 20:48

          點(diǎn)擊上方AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達(dá)

          來源:Opencv視覺實(shí)踐








          上篇文講了圖像特效顯示之掃描顯示,圖像漸顯與馬賽克顯示。本文繼續(xù)。

          圖像的平移

          移動是將圖像看作一個整體,顯示時不能像掃描那樣,掃描方式有些像打開一副畫,例如顯示上部分的時候,下部分可以不現(xiàn)實(shí),而移動則可以看成一塊木板畫,顯示時必須按物理順序進(jìn)行,例如從上向下平移時,必須先顯示下面的圖像,后顯示上面的圖像,因此平移的算法比掃描難一些。

          平移是一復(fù)制的方法顯示圖像的,每顯示一次,復(fù)制的行數(shù)就增加一行,直至顯示完成。

          //移動顯示void Mobile_display(){  //讀取圖片  Mat srcImage, dstImage;  srcImage = imread("2.jpg");  dstImage = Mat(srcImage.size(), CV_8UC3);  imshow("原圖", srcImage);  //定義變量  Mat roiImage;  int ImageHeigth = srcImage.rows;  int ImageWidth = srcImage.cols;  namedWindow("移動顯示");  for (int i = 1; i < ImageWidth; i++) {//步長為1    roiImage = srcImage(Rect(ImageWidth-i, 0, i, ImageHeigth));    roiImage.copyTo(dstImage(Rect(0, 0, i, ImageHeigth)));    imshow("移動顯示", dstImage);    waitKey(5);  }  waitKey(0);}

          動圖

          中間擴(kuò)張

          當(dāng)我們打開電視機(jī)時,都有這樣的感覺:電視圖像是從屏幕中間開始,向上下兩個方向展開的,這種效果就是中間擴(kuò)張。中間擴(kuò)張?zhí)匦э@示的原理其實(shí)并不難,在顯示的時候,先將圖像分成兩部分,將中間分界處顯示在屏幕中央,并快速向上向下掃描圖像,最后將圖像完整的顯示在屏幕上,這樣人們因?yàn)橐曈X生理的特點(diǎn)就會看到中間擴(kuò)張的效果。

          //中間擴(kuò)張void Middle_expansion(){  //讀取圖片  Mat srcImage, dstImage;  srcImage = imread("2.jpg");  dstImage = Mat(srcImage.size(), CV_8UC3);  imshow("原圖", srcImage);  //定義變量  Mat roiImage;  int ImageHeigth = srcImage.rows;  int ImageWidth = srcImage.cols;  namedWindow("中間擴(kuò)張");  for (int i = 1; i <= ImageHeigth/2; i++) {//步長為1    roiImage = srcImage(Rect(0, ImageHeigth / 2 - i, ImageWidth, i));    roiImage.copyTo(dstImage(Rect(0, ImageHeigth / 2 - i, ImageWidth, i)));    roiImage = srcImage(Rect(0, ImageHeigth / 2, ImageWidth, i));    roiImage.copyTo(dstImage(Rect(0, ImageHeigth / 2, ImageWidth, i)));
          imshow("中間擴(kuò)張", dstImage); waitKey(5); } waitKey(0);}

          動圖

          水平柵條特效

          柵條特效分為水平柵條和垂直柵條,其效果如同將兩手交叉的過程,柵條顯示的原理是先將圖像分為若干行,將奇數(shù)行組成一組,偶數(shù)行組成一組,在顯示時奇數(shù)行從右向左平移,偶數(shù)行從左向右平移。

          //水平柵條特效void Grid_effect(){  //讀取圖片  Mat srcImage, dstImage;  srcImage = imread("2.jpg");  dstImage = Mat(srcImage.size(), CV_8UC3);  imshow("原圖", srcImage);  //定義變量  Mat roiImage;  int ImageHeigth = srcImage.rows;  int ImageWidth = srcImage.cols;  int step=10;//每個柵格寬度  namedWindow("中間擴(kuò)張");  for (int i = 1; i < ImageWidth+1; i=i+10) {//步長為1    for (int j = 0; j < ImageHeigth; j=j+2*step) {//步長為1      //奇數(shù)行從右往左      roiImage = srcImage(Rect(0, j, i, step));      roiImage.copyTo(dstImage(Rect(ImageWidth - i, j, i, step)));      //偶數(shù)行從左往右      int k = j + step;      roiImage = srcImage(Rect(ImageWidth - i, k, i, step));      roiImage.copyTo(dstImage(Rect(0, k, i, step)));
          imshow("中間擴(kuò)張", dstImage); waitKey(1); } } waitKey(0);}

          動圖

          THE? END

          圖像特效顯示就到這兒了,比較簡單,也沒太大實(shí)際用途,主要是增強(qiáng)一下對圖像操作的熟練度。



          下載1:何愷明頂會分享


          AI算法與圖像處理」公眾號后臺回復(fù):何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結(jié)分析


          下載2:leetcode?開源


          AI算法與圖像處理」公眾號后臺回復(fù):leetcode,即可下載。每題都 runtime beats 100% 的開源好書,你值得擁有!



          下載3 CVPR2020

          AI算法與圖像處公眾號后臺回復(fù):CVPR2020,即可下載1467篇CVPR?2020論文
          個人微信(如果沒有備注不拉群!
          請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱


          覺得不錯就點(diǎn)亮在看吧


          瀏覽 50
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩毛片一区 | 免费欧美一级 | 成人操碰视频 | 亚洲免费成人网站 | 激情久久成人 |