久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

圖像銳化(拉普拉斯算子):

 Y忍冬草 2017-03-09

將一副圖像減去經(jīng)過拉普拉斯濾波滯后的圖像,,這幅圖像的邊緣部分將得到放大,,計(jì)算公式如下:

濾波后的像素值=5*中-左-右-上-下:

轉(zhuǎn)自:http://blog.csdn.net/devil_pull/article/details/17246855

  1. /** 
  2.  * @file 2_6.cpp 
  3.  * @Synopsis  圖像銳化,拉普拉斯算子 
  4.  * @author weih.cao 
  5.  * @version 1.0.0.0 
  6.  * @date 2013-12-10 
  7.  */  
  8. #include<opencv2/core/core.hpp>  
  9. #include<opencv2/imgproc/imgproc.hpp>  
  10. #include<opencv2/highgui/highgui.hpp>  
  11.   
  12. /* --------------------------------------------------------------------------*/  
  13. /** 
  14.  * @Synopsis  sharpen  
  15.  * 
  16.  * @Param image 
  17.  * @Param result 
  18.  */  
  19. /* ----------------------------------------------------------------------------*/  
  20. void sharpen(const cv::Mat image, cv::Mat &result)  
  21. {  
  22.     result.create(image.size(), image.type());  
  23.     for(int j = 1; j < image.rows-1; j++)  
  24.     {  
  25.         const uchar* previous = image.ptr<const uchar>(j-1);  
  26.         const uchar* current  = image.ptr<const uchar>(j);  
  27.         const uchar* next     = image.ptr<const uchar>(j+1);  
  28.   
  29.         uchar* output = result.ptr<uchar>(j);  
  30.         for(int i = 1; i < image.cols-1; i++)  
  31.         {  
  32.             //sharpened_pixel = 5*current-left-right-up-down;  
  33.             //cv::saturate_cast用以對(duì)計(jì)算結(jié)果進(jìn)行截?cái)啵?-255)  
  34.             *output++ = cv::saturate_cast<uchar>(  
  35.                     5*current[i]-current[i-1]  
  36.                     -current[i+1]-previous[i]-next[i]);  
  37.         }  
  38.     }  
  39.     result.row(0).setTo(cv::Scalar(0));  
  40.     result.row(result.rows-1).setTo(cv::Scalar(0));  
  41.     result.col(0).setTo(cv::Scalar(0));  
  42.     result.col(result.cols-1).setTo(cv::Scalar(0));  
  43. }  
  44.   
  45. int main(int argc,char** argv)  
  46. {  
  47.     cv::Mat img = cv::imread(argc == 2 ? argv[1] : "lena.jpg");  
  48.     cv::cvtColor(img,img,CV_BGR2GRAY);  
  49.     cv::Mat result;  
  50.     result.create(img.size(), img.type());  
  51.     sharpen(img, result);  
  52.     cv::namedWindow("sharpen");  
  53.     cv::namedWindow("img");  
  54.     cv::imshow("img",img);  
  55.     cv::imshow("sharpen", result);  
  56.     cv::waitKey(0);  
  57. }  

1.cv::saturate_cast被用來對(duì)計(jì)算結(jié)果進(jìn)行截?cái)?,?duì)數(shù)值的數(shù)學(xué)計(jì)算常常超出允許的計(jì)算范圍,,解決方案是直接映射到0~255.

2.rowcol方法,。返回一個(gè)特殊的,、僅包含一行或一列的cv::Mat實(shí)例。在這個(gè)過程中沒任何形式的數(shù)據(jù)拷貝,,如果該一維矩陣遭到修改也會(huì)相應(yīng)的修改原始圖像,。

3.setTo函數(shù)將矩陣的所有元素設(shè)為指定的值,。

  1. result.row(0).setTo(cv::Scalar(0));  

將圖像的第一行的所有像素設(shè)置為0,。三通道的愛色圖像,需要使用cv::Scalar(a,b,c)來指定像素三個(gè)通道的目標(biāo)值,。


效果圖:




    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多