欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Matlab圖像處理的公路裂縫檢測實現(xiàn)

 更新時間:2022年02月23日 11:52:15   作者:紫極神光  
隨著公路的大量投運,公路日常養(yǎng)護(hù)和管理已經(jīng)成為制約公路運營水平提高的瓶頸,特別是路面狀態(tài)采集、檢測維護(hù)等工作更是對傳統(tǒng)的公路運維模式提出了挑戰(zhàn)。這篇文章主要介紹了如何通過Matlab圖像處理實現(xiàn)公路裂縫檢測,感興趣的可以了解一下

一、簡介

1 案例背景

隨著國家對公路建設(shè)的大力投入,我國的公路通車總里程己經(jīng)位居世界前列,這樣進(jìn)一步促進(jìn)了我國經(jīng)濟建設(shè)的發(fā)展。隨著公路的大量投運,公路日常養(yǎng)護(hù)和管理已經(jīng)成為制約公路運營水平提高的瓶頸,特別是路面狀態(tài)采集、檢測維護(hù)等工作更是對傳統(tǒng)的公路運維模式提出了挑戰(zhàn)。路面裂縫是公路日常養(yǎng)護(hù)管理中最常見的路面損壞,也是影響公路狀態(tài)評估和進(jìn)行必要的公路維修的重要因素!。一般而言,如果路面裂縫能夠在被惡化成坑槽之前得到及時修補,則可以大大節(jié)約公路的養(yǎng)護(hù)成本。傳統(tǒng)的公路裂縫檢測主要是人工檢測,需要配置一定規(guī)模的人力、設(shè)備等資源來進(jìn)行定期巡檢。但是,面對日益增長的公路建設(shè)需求,人工檢測具有運營效率低、主觀性影響大、危險性較高等不足,已無法滿足公路破損快速檢測的要求。

隨著計算機硬件設(shè)備和數(shù)字圖像處理技術(shù)的發(fā)展,基于視覺的目標(biāo)定位及檢測技術(shù)也取得了不斷的進(jìn)步,由于其具有定位準(zhǔn)確、檢測快速、自動化操作、易于安裝部署等特點,已經(jīng)廣泛應(yīng)用于工業(yè)自動化檢測過程,特別是在目標(biāo)表面質(zhì)量檢測、目標(biāo)物測量等領(lǐng)域的應(yīng)用。因此,基于數(shù)字圖像的路面裂縫檢測技術(shù)可以提供一個安全、高效、成本低廉的道路狀態(tài)監(jiān)控服務(wù),已有多種圖像處理方法應(yīng)用于路面裂縫檢測并在一定程度上取得了實際應(yīng)用。

2 理論基礎(chǔ)

路面裂縫檢測從視覺上來看是典型的線狀目標(biāo)檢測,因此路面裂縫圖像的增強與定位屬于線狀目標(biāo)檢測的研究領(lǐng)域,路面裂縫與一般線狀目標(biāo)相比,具有其自身的特點:目標(biāo)寬度相對較小、圖像對比度較低、具有自然間斷、具有分叉和雜點等,并且路面裂縫只是在視覺總體上呈現(xiàn)出線狀特征.傳統(tǒng)的裂縫自動檢測算法,如基于閾值分割、邊緣檢測、小波變換等算法,往往都假設(shè)路面裂縫在整幅圖像中具有較高的對比度和較好的連續(xù)性,但這種假設(shè)在實際的工程項目中往往不成立。由于受拍攝天氣、路面損耗、裂縫退化等因素的影響,有一定比例的裂縫相對于路面背景具有極低的對比度,這也會引起傳統(tǒng)裂縫檢測算法的失效,因此需要在裂縫圖像處理前加入一定的預(yù)處理步驟。圖像預(yù)處理一般是應(yīng)用于圖像識別、圖像表示等領(lǐng)域的一種前期處理。在圖像的采集和傳輸過程中,往往會因為某些原因?qū)е聢D像質(zhì)量降低。

例如,從視覺主觀上觀察圖像中的物體,可能會發(fā)覺其輪廓位置過于鮮艷而顯得突兀:從被檢測目標(biāo)物的大小和形狀來看,圖像特征比較模糊、難以定位;從圖像對比度的角度來看,可能會受到某些噪聲的影響;從圖像整體來看,可能會發(fā)生某種失真、變形等,因此,待處理圖像在視覺直觀性和處理可行性等方面可能存在諸多干擾,我們不妨將其統(tǒng)稱為圖像質(zhì)量問題。圖像預(yù)處理正是用于圖像質(zhì)量的改善處理,通過一定的計算步驟進(jìn)行適當(dāng)?shù)淖儞Q進(jìn)面突出圖像中某些感興趣的信息,消除或降低干擾信息,如圖像對比度增強、圖像去噪或邊緣提取等處理印,一般情況下,由于裂縫圖像的采集需要涉及室外作業(yè),所得圖片難免會存在一定的噪聲干擾、畸變等各種問題,直接進(jìn)行裂縫目標(biāo)的檢測和提取往往會遇到困難。因此,本案例首先將裂縫圖像進(jìn)行預(yù)處理,改善圖像質(zhì)量,進(jìn)而提高實驗的優(yōu)化效果。圖像預(yù)處理的基本方法有圖像灰度變換、頻域變換、直方圖變換、圖像去噪、圖像銳化、圖像色彩變換等。本案例將選擇其中的部分方法來進(jìn)行裂縫圖像的預(yù)處理操作。

2.1 圖像灰度化

自然界中絕大部分的可見光譜均能通過紅®、綠(G)、藍(lán)(B)三色光按不同比例和強度進(jìn)行混合而得到, 我們將其稱為RGB色彩模式。該模式以RGB模型為基礎(chǔ), 對圖像的每個像素值的RGB分量均分配一個Uint 8類型(0~255) 的強度值。例如, 純紅色的R值為255, G值為0, B值為0; 品紅色的R值為255, G值為0, B值為255。RGB圖像的紅、綠、藍(lán)分量各占8位,因此是24位圖像,并且不同亮度的基色混合后,會產(chǎn)生出256x256x 256-16777216種顏色。RGB模型圖形化表示如圖所示。

假設(shè)F(i, j) 為RGB模型中的某像素, 若其3種基色的亮度值相等, 則會產(chǎn)生灰度顏色,將該R=G=B的值稱為灰度值(或者稱為強度值、亮度值)。因此,灰度圖像就是包含多個量化灰度級的圖像。假設(shè)該灰度級用Uint 8類型數(shù)值表示, 則圖像的灰度級就是256(即2°=256)。本案例所選擇的灰度圖像灰度級均為256,其像素灰度值為0~255的某個值,當(dāng)亮度值都是255時產(chǎn)生純白色,當(dāng)亮度值都是0時產(chǎn)生純黑色,并且亮度從0到255呈現(xiàn)逐漸增加的趨勢。RGB圖像包含了由紅、綠、藍(lán)三種分量組成的大量的色彩信息, 灰度圖像只有亮度信息而沒有色彩信息。針對路面裂縫圖像的檢測要求,一般需要去除不必要的色彩信息, 將所采集到的RGB圖像轉(zhuǎn)換為灰度圖像。RGB圖像的灰度化方法有以下幾種。

(1)分量值

選取像素F(i.j)的R、G、B分量中的某個值作為該像素的灰度值,即

式中,F(xiàn)g(i,j)為轉(zhuǎn)換后的灰度圖像在(i.j)處的灰度值。

(2)最大值

選取像素F(i,j)的R、G、B分量中的最大值作為該像素的灰度值,即

(3)平均值

選取像素F(i,j)的R、G、B分量的亮度均值作為該像素的灰度值,即

(4)加權(quán)平均值

選取像素F(i,j)的R、G、B分量的亮度加權(quán)均值作為該像素的灰度值,權(quán)值的選取一般是根據(jù)分量的重要性等指標(biāo),將3個分量以加權(quán)平均的方式進(jìn)行計算得到灰度值。人眼在視覺主觀上一般對綠色分量敏感度較高, 對藍(lán)色分量敏感度較低, 因此對RGB三分量進(jìn)行加權(quán)平均能得到較合理的灰度圖像,常用的計算公式如下:

F.(i.j)=0.299R(i,j)+0.587G(i,j)+0.114*B(i,j)

采用加權(quán)平均計算灰度圖像的方式對裂縫圖像進(jìn)行灰度化,所得結(jié)果如圖所示。

2.2 圖像濾波

裂縫圖像在采集或傳輸?shù)倪^程中往往會受到成像設(shè)備與傳輸介質(zhì)等因素的干擾而產(chǎn)生噪聲,因此待處理的裂縫圖像可能會存在邊緣模糊、黑白雜點等問題,這在一定程度上會對裂縫目標(biāo)的檢測和識別產(chǎn)生影響,干擾實驗結(jié)果的判斷,因此需要對裂縫圖像進(jìn)行濾波去噪。本節(jié)將從均值濾波和中值濾波兩方面來進(jìn)行圖像去噪的處理。均值濾波也稱為鄰域平均濾波,該方法假設(shè)待處理圖像是由許多灰度值為常量的小區(qū)域組成的,并且相鄰區(qū)域間存在較高的空間相關(guān)性,而噪聲則顯得相對獨立。因此,通過將單個像素及其指定鄰域內(nèi)的所有像素按某種規(guī)則計算平均灰度值,再作為新圖像中的對應(yīng)像素值,可達(dá)到濾波去噪的目的,這一過程被稱為均值濾波。鄰域平均法屬于非加權(quán)鄰域平均范疇,是最常用的均值濾波操作。

圖像邊緣一般集中了圖像的細(xì)節(jié)和高頻信息,如果通過鄰域平均法進(jìn)行去噪,則往往會引起圖像邊緣的模糊,這也會對裂縫目標(biāo)的檢測帶來不利影響。中值濾波是常用的非線性濾波方法,其主要思想是對像素鄰域向量化取中值來進(jìn)行濾波,具有運算簡單、高效,能有效去除脈沖噪聲的特點,在去噪的同時它也可以有效地保護(hù)圖像的邊緣細(xì)節(jié)信息。因此,本案例將采用中值濾波的方法來對裂縫圖像進(jìn)行去噪處理,其處理步驟如下。

(1)定位

在圖像中移動模板,將模板中心與圖像中的某個像素重合。

(2)計算

選擇模板對應(yīng)于圖像的各像素灰度值,進(jìn)行向量化,并將其進(jìn)行排序。

(3)賦值

選擇序列的中間值,作為輸出賦予模板中心對應(yīng)的像素。

如圖2所示,根據(jù)中值濾波器形狀和維數(shù)的不同,其模板有線形、十字形、方形、菱形等,不同形狀的窗口也會產(chǎn)生不同的濾波效果。在對裂縫圖像進(jìn)行中值濾波處理時,其關(guān)鍵在于選擇合適的模板形狀和模板大小。

2.3 圖像增強

路面裂縫圖像的采集一般在室外進(jìn)行,容易受到大氣、光照、機械振動等因素的影響,采集到的裂縫圖像可能存在整體偏暗或偏亮等問題,進(jìn)而產(chǎn)生對比度較低的圖像。此類圖像的特點是灰度分布范圍較小,集中在少量的灰度區(qū)間內(nèi),這也給后續(xù)的裂縫檢測和識別帶來了不利影響,因此需要對此類圖像進(jìn)行增強處理來提高對比度。直方圖作為圖像灰度級分布的統(tǒng)計表,能在一定程度上反映圖像的對比度詳情。圖像的灰度直方圖表示該圖像所屬灰度類型中不同灰度級像素出現(xiàn)的相對頻率,并且直方圖的橫坐標(biāo)表示灰度,縱坐標(biāo)表示灰度出現(xiàn)的次數(shù)或概率。直方圖均衡化利用灰度直方圖進(jìn)行圖像對比度的調(diào)整,以達(dá)到增強圖像視覺效果的目標(biāo)。直方圖均衡化的基本思想是通過某種變換,將原始圖像的灰度直方圖從集中于某個較小的灰度區(qū)間變成在更大灰度區(qū)間內(nèi)均勻分布的形式,得到灰度級差式分布,從而達(dá)到增強圖像整體對比度的目標(biāo)。裂縫圖像區(qū)域通常屬于顏色較暗的灰度區(qū)間,背景區(qū)域則屬于相對較亮的灰度區(qū)間。但在采集裂縫圖像的過程中,往往會由于天氣干擾、曝光不足等原因而造成圖像整體偏暗,使裂縫區(qū)域與背景區(qū)域亮度特征相近而不易辨別,如圖所示。從原始裂縫圖像的灰度直方圖可以看出,其灰度值分布主要集中在0100的低層次灰度區(qū)間。因此,為了提高裂縫與背景的對比度,需要將原圖像的灰度值范圍進(jìn)行擴大,形成較為明顯的灰度級差,進(jìn)而增加裂縫圖像的對比度。經(jīng)過灰度直方圖均衡化處理,裂縫圖像的灰度范圍擴到了0255,得到對比度增強后的裂縫圖像,更加突出了裂縫與背景的差異程度。

2.4 圖像二值化

灰度圖像二值化是指通過約定一個灰度閾值來分割目標(biāo)與背景,在閥值之內(nèi)的像素于目標(biāo)即記為1,其他則屬于背景即記為0。在裂縫目標(biāo)檢測與識別的過程中,可以采用裂縫邊緣、面積等特征來進(jìn)行判別,也可以采用裂縫目標(biāo)與周圍背景的灰度差異值作為個判別依據(jù),這就要求引入閾值來進(jìn)行圖像二值化處理。假設(shè)一幅灰度裂縫圖像用f(x,y)表示,其中,(x,y)表示圖像中像素的位置坐標(biāo),T為閾值,則閾值分割后的二值圖像b(x,y)滿足:

裂縫目標(biāo)或背景區(qū)域的像素灰度通常是高度相關(guān)的,但裂縫目標(biāo)與背景區(qū)域之間的灰度值則通常存在較大差異,一般包含明顯的邊緣等特征。因此,為了從更大程度上分割裂縫目標(biāo)與背景,則需要對其進(jìn)行灰度閾值分割選取合適的閾值。閾值計算方法根據(jù)其計算過程可以分為兩種:全局閾值和基本自適應(yīng)閾值,如下所述。

(1)全局閾值是最常見的閾值計算方法,它一般以圖像的直方圖或灰度空間分布為基礎(chǔ)來確定一個閾值,進(jìn)而實現(xiàn)灰度圖像的二值化。特別是當(dāng)圖像的灰度直方圖分布呈雙峰時,全局閾值法可以明顯地將目標(biāo)和背景分量,得到較為理想的圖像分割效果。但裂縫圖像一般具有光照不均勻、噪聲干擾等特點,其灰度直方圖往往不會呈雙峰分布,因此全局閾值分割方法效果較差。

(2)基本自適應(yīng)閥值是一種比較基礎(chǔ)的圖像自適應(yīng)分割方法,它一般以圖像像素自身及其鄰域灰度變化的特征為基礎(chǔ)進(jìn)行閾值分割,進(jìn)而實現(xiàn)灰度圖像的二值化。該方法充分考慮了每個像素鄰域的特征,所以一般能更好地突出目標(biāo)和背景的邊界。

裂縫圖像的背景在多數(shù)情況下比較固定,如路面、橋面、墻體等。但由于圖像采集一般在室外進(jìn)行,會受到拍攝條件、路面雜物等因素的影響,所以圖像容易出現(xiàn)退化或噪聲干擾。本案例通過分析裂縫圖像目標(biāo)和背景的特點,采用自定義和迭代法優(yōu)化相結(jié)合的方法。

3 程序?qū)崿F(xiàn)

根據(jù)裂縫圖像的特點,在對其進(jìn)行目標(biāo)檢測和識別之前,需要進(jìn)行圖像預(yù)處理,主要包括:直方圖均衡化增強、中值濾波去噪、對比度增強、二值化處理、二值圖像濾波等步驟。其中,在二值化過程中對閾值的確定選擇自定義閾值法與迭代自適應(yīng)法相結(jié)合的方式來計算;二值圖像濾波主要是連通區(qū)域的面積濾波,通過去除小面積的雜點噪聲來進(jìn)行濾波去噪。裂縫圖像經(jīng)過預(yù)處理可以得到突出裂縫目標(biāo)的二值圖像,然后可以根據(jù)形態(tài)學(xué)區(qū)域特征來獲取裂縫目標(biāo)并進(jìn)行檢測識別。對于裂縫的形狀識別可以通過計算圖像中裂縫目標(biāo)的外接矩形的長寬比來確定。

二、部分源代碼

    clc;
    close all;
    clear all;
    %% 讀取圖片
    I=imread('1.jpg');
    %% 判斷圖像格式及調(diào)整圖像尺寸、直方圖均衡化
    if(ndims(I)==3)%ndims是求數(shù)組維數(shù)的函數(shù)
        img=rgb2gray(I);
        img=double(img);%轉(zhuǎn)換為雙精度
    else
        img=double(I);%轉(zhuǎn)換為雙精度
    end
    if(max(size(img))>1024)
        scale=1/8;  %圖像調(diào)整為原圖尺寸的1/8
        I1 = imresize(img, scale);%縮放處理
    else
        I1=img;
    end    
    [m,n]=size(I1);
    f_size=max(m,n);
    %% 去噪、銳化
    [Slog f2]=frequence_get(I1,f_size);
    %% 陷波濾波 去除周期性噪聲 
    % % 用陷波濾波模板修改原圖傅里葉頻譜,濾除高頻周期噪聲
    % % 構(gòu)造陷波濾波器模板
    Mask=Muban(Slog,f_size);
    vex=find(Mask==0);
    I_spec=I1;
    I_spec=im2uint8(mat2gray(I_spec));%矩陣歸一化,把圖像數(shù)據(jù)類型轉(zhuǎn)換為無符號的8位整形
    I_spec(f_size,f_size)=0;
    Spectrum=fft2(uint8(I_spec));%2維離散傅里葉變換
    Spec=abs(Spectrum);   %幅度譜
    phi=angle(Spectrum);  %相位譜
    Spec=fftshift(Spec);
    Spec1=Spec;
    Spec1(vex)=0;
    Spec2=ifftshift(Spec1);
    CJ=Spec2.*exp(i*phi);  %重建傅里葉頻譜
    Re_fft2=ifft2(CJ);     %反傅里葉變換,還原圖像
    Restore=uint8(real(Re_fft2));
    %% 對還原圖像維納濾波
% %    維納濾波     
    K=wiener2(Restore(1:m,1:n),[3 3]);%維納濾波(wiener filtering) 一種基于最小均方誤差準(zhǔn)則、對平穩(wěn)過程的最優(yōu)估計器。這種濾波器的輸出與期望輸出之間的均方誤差為最小,因此,它是一個最佳濾波系統(tǒng)。它可用于提取被平穩(wěn)噪聲所污染的信號。 
    [result,threshold1]=edge(K,'sobel',0.07);% 若原圖沒有進(jìn)行均衡化,閾值用0.07,sobel算子邊緣檢測裂縫       
    [BW,thresh1]=bwfilter(K,result);%二值化濾波器去干擾
    figure,
    subplot(151);imshow(I1,[]);title('原始圖像'); 
    subplot(152);imshow(Restore(1:m,1:n),[]);title('反傅里葉變換圖像'); 
    subplot(153);imshow(K,[]);title('維納濾波降噪');
    subplot(154);imshow(result,[]);title('裂紋檢測'); 
    subplot(155);imshow(BW);title('二值化濾波器去干擾');
% %     形態(tài)學(xué)操作
    Se0=strel('line',3,0);%創(chuàng)建一個相對于鄰域中心對稱的線性結(jié)構(gòu)元素
    Se90=strel('line',3,90);
    bw_dialte=imdilate(BW,[Se0 Se90]);%膨脹
    bw_fill=imfill(bw_dialte,'holes');%填充  
    bw1=bwmorph(bw_fill,'thin',Inf);%細(xì)化  
    bw2=bwmorph(bw1,'spur',3);  %去毛刺     
    bw3=bwareaopen(bw2,5);%移除小目標(biāo)  
    figure,
    subplot(151);imshow(bw_dialte);title('膨脹');
    subplot(152);imshow(bw_fill);title('填充');
    subplot(153);imshow(bw1);title('細(xì)化');
    subplot(154);imshow(bw2);title('去毛刺');
    subplot(155);imshow(bw3);title('移除小目標(biāo)');

三、運行結(jié)果

以上就是基于Matlab圖像處理的公路裂縫檢測實現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Matlab公路裂縫檢測的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言多維數(shù)組數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)詳解

    C語言多維數(shù)組數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)詳解

    對于數(shù)組想必大家都不陌生首先得要知道的是對于數(shù)組元素在內(nèi)存存儲是連續(xù)性的,下面這篇文章主要給大家介紹了關(guān)于C語言多維數(shù)組數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • C++17之std::any的具體使用

    C++17之std::any的具體使用

    本文主要介紹了C++17之std::any的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Pipes實現(xiàn)LeetCode(193.驗證電話號碼)

    Pipes實現(xiàn)LeetCode(193.驗證電話號碼)

    這篇文章主要介紹了Pipes實現(xiàn)LeetCode(193.驗證電話號碼),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言實現(xiàn)病例管理系統(tǒng)

    C語言實現(xiàn)病例管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)病例管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C++中的new/delete、構(gòu)造/析構(gòu)函數(shù)、dynamic_cast分析

    C++中的new/delete、構(gòu)造/析構(gòu)函數(shù)、dynamic_cast分析

    這篇文章主要介紹了C++中的new/delete、構(gòu)造/析構(gòu)函數(shù)、dynamic_cast分析 本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • C++如何調(diào)用已經(jīng)寫好的C接口

    C++如何調(diào)用已經(jīng)寫好的C接口

    如何在C++代碼中調(diào)用寫好的C接口?你可能會奇怪,C++不是兼容C嗎?直接調(diào)用不就可以了,那么我們來測試一下,先看看C++如何調(diào)用C代碼接口的,需要的朋友可以參考一下
    2021-10-10
  • C 語言關(guān)于聯(lián)合體的相關(guān)知識

    C 語言關(guān)于聯(lián)合體的相關(guān)知識

    這篇文章主要介紹了C 語言關(guān)于聯(lián)合體的相關(guān)知識,文中講解非常細(xì)致,代碼幫助大家更好的理解學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • c語言執(zhí)行Hello?World背后經(jīng)歷的步驟

    c語言執(zhí)行Hello?World背后經(jīng)歷的步驟

    這篇文章介紹了c語言執(zhí)行Hello?World背后經(jīng)歷的步驟,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 利用C++簡單實現(xiàn)順序表和單鏈表的示例代碼

    利用C++簡單實現(xiàn)順序表和單鏈表的示例代碼

    這篇文章主要給大家介紹了關(guān)于利用C++簡單實現(xiàn)順序表和單鏈表的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • C++基類指針和派生類指針之間的轉(zhuǎn)換方法講解

    C++基類指針和派生類指針之間的轉(zhuǎn)換方法講解

    今天小編就為大家分享一篇關(guān)于C++基類指針和派生類指針之間的轉(zhuǎn)換方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評論