<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>

          圖像特效顯示 | 馬賽克顯示,掃描顯示等

          共 2816字,需瀏覽 6分鐘

           ·

          2020-12-23 20:48

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

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

          來源:Opencv視覺實踐








          前言

          之前看的楊淑瑩老師的《數(shù)字圖像處理Visual Studio C++技術(shù)實現(xiàn)》,里面的代碼都沒來得及打,而且其是基于自定義的圖像類實現(xiàn)的,這個系列就把所有例程移植為opencv-C++實現(xiàn),也就是算法邏輯用C++實現(xiàn),圖像對象使用opencv自帶的圖像類。

          該書在B站有配套教程,是天津理工大學(xué)楊淑瑩老師的公開課,直接搜就行。

          所以此系列不詳細(xì)講原理,只放基本思路+代碼+運行效果,詳細(xì)原理可以看書,我就不復(fù)述書的內(nèi)容了。

          圖像掃描顯示

          向下掃描就是對圖像進行分塊并延時顯示。

          可以通過不斷的改變顯示的roi區(qū)域來達(dá)到掃描的效果:

          void scanning_down(){  //讀取圖片  Mat srcImage, dstImage;  srcImage = imread("2.jpg");  imshow("原圖", srcImage);  //定義變量  Mat roiImage;  int ImageHeigth = srcImage.rows;  int ImageWidth = srcImage.cols;  namedWindow("向下掃描");  for (int i = 1; i < ImageHeigth; i++) {//步長為1    roiImage = srcImage(Rect(0, 0, ImageWidth, i));    roiImage.copyTo(dstImage);    imshow("向下掃描", dstImage);    waitKey(5);  }  waitKey(0);}

          動圖

          向上,向左,向右掃描顯示同理。

          圖像漸顯

          圖像漸顯思路是先記錄下圖像每個像素點的像素值,顯示的時候先將屏幕置黑,將循環(huán)顯示圖像n次,n依次為0,1,2,...,256。每一次顯示像素值的n/256倍,從而達(dá)到漸顯的效果。

          void fade_in()//淡入{  //讀取圖片  Mat srcImage, dstImage;  srcImage = imread("2.jpg");  dstImage = srcImage.clone();  imshow("原圖", srcImage);  //定義變量  Mat roiImage;  int ImageHeigth = srcImage.rows;  int ImageWidth = srcImage.cols * 3;  namedWindow("圖像漸顯");  for (int n = 1; n < 256; n++) {    for (int i = 0; i < ImageHeigth; i++) {      uchar* data1 = srcImage.ptr(i);      uchar* data2 = dstImage.ptr(i);      for (int j = 0; j < ImageWidth; j++) {        data2[j] = data1[j] * n / 256;
          } } imshow("圖像漸顯", dstImage); waitKey(10); }}

          動圖

          馬賽克顯示

          馬賽克顯示是將圖片分為固定大小的小塊,并記錄下所有小塊的左上角坐標(biāo),然后隨機將這些小塊顯示出來,就是馬賽克效果。

          //圖像馬賽克顯示void mosaic() {  //讀取圖片  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("圖像馬賽克顯示");  //存儲每個小塊的首地址并隨機打亂  int step =24;//定義馬賽克邊長(正方形)  vector temp;  unsigned int mi = 0;  //for循環(huán)存儲所有節(jié)點坐標(biāo)  for (int x = 0; x < ImageWidth; x = x + step) {    for (int y = 0; y < ImageHeigth; y = y + step) {      if (x > ImageWidth - step) {        x = ImageWidth - step;      }      if (y > ImageHeigth - step) {        y = ImageHeigth - step;      }      temp.push_back(Point2d(x,y));      mi++;    }  }    random_shuffle(temp.begin(), temp.end());//打亂容器內(nèi)元素  //for循環(huán)顯示每個隨機馬賽克  for (int i = 0; i < mi; i++) {    srcImage(Rect(temp[i].x, temp[i].y, step, step)).copyTo(dstImage(Rect(temp[i].x, temp[i].y, step, step)));    imshow("圖像馬賽克顯示", dstImage);    waitKey(1);  }  waitKey(0);}

          動圖

          THE? END

          如果喜歡此系列,可以幫忙點下底部小卡片支持一下。


          下載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è)+研究方向+昵稱


          覺得不錯就點亮在看吧

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产高清内射视频 | 欧美特级性爱 | 欧美三级又粗又硬 | 美女被内射 | 国产九九精品视频 |