圖像卷積與濾波

參考資料:

1.卷積的基本概念

首先陨簇,我們有一個(gè)二維的濾波器矩陣(有個(gè)高大上的名字叫卷積核)和一個(gè)要處理的二維圖像高氮。然后,對(duì)于圖像的每一個(gè)像素點(diǎn)坎穿,計(jì)算它的鄰域像素和濾波器矩陣的對(duì)應(yīng)元素的乘積展父,然后加起來(lái),作為該像素位置的值玲昧。這樣就完成了濾波過(guò)程栖茉。
注意:卷積和協(xié)相關(guān)的差別是,卷積需要先對(duì)濾波矩陣進(jìn)行180的翻轉(zhuǎn)孵延,但如果矩陣是對(duì)稱的吕漂,那么兩者就沒有什么差別了。

濾波操作示意圖

對(duì)于濾波器尘应,也有一定的規(guī)則要求:

  1. 濾波器的大小應(yīng)該是奇數(shù)惶凝,這樣它才有一個(gè)中心,例如3x3犬钢,5x5或者7x7苍鲜。有中心了,也有了半徑的稱呼玷犹,例如5x5大小的核的半徑就是2坡贺。
  2. 濾波器矩陣所有的元素之和應(yīng)該要等于1,這是為了保證濾波前后圖像的亮度保持不變箱舞。當(dāng)然了,這不是硬性要求了拳亿。
  3. 如果濾波器矩陣所有元素之和大于1晴股,那么濾波后的圖像就會(huì)比原圖像更亮,反之肺魁,如果小于1电湘,那么得到的圖像就會(huì)變暗。如果和為0,圖像不會(huì)變黑寂呛,但也會(huì)非常暗怎诫。
  4. 對(duì)于濾波后的結(jié)構(gòu),可能會(huì)出現(xiàn)負(fù)數(shù)或者大于255的數(shù)值贷痪。對(duì)這種情況幻妓,我們將他們直接截?cái)嗟?和255之間即可。對(duì)于負(fù)數(shù)劫拢,也可以取絕對(duì)值肉津。

2.各個(gè)卷積核的使用效果

2.1 啥也不做

啥也不做的卷積核示例

2.2 圖像銳化濾波器(Sharpness Filter)

圖像的銳化和邊緣檢測(cè)很像,首先找到邊緣舱沧,然后把邊緣加到原來(lái)的圖像上面妹沙,這樣就強(qiáng)化了圖像的邊緣,使圖像看起來(lái)更加銳利了熟吏。這兩者操作統(tǒng)一起來(lái)就是銳化濾波器了距糖,也就是在邊緣檢測(cè)濾波器的基礎(chǔ)上,再在中心的位置加1牵寺,這樣濾波后的圖像就會(huì)和原始的圖像具有同樣的亮度了悍引,但是會(huì)更加銳利。



我們把核加大缸剪,就可以得到更加精細(xì)的銳化效果



另外吗铐,下面的濾波器會(huì)更強(qiáng)調(diào)邊緣:

主要是強(qiáng)調(diào)圖像的細(xì)節(jié)。最簡(jiǎn)單的3x3的銳化濾波器如下:



實(shí)際上是計(jì)算當(dāng)前點(diǎn)和周圍點(diǎn)的差別杏节,然后將這個(gè)差別加到原來(lái)的位置上唬渗。另外,中間點(diǎn)的權(quán)值要比所有的權(quán)值和大于1奋渔,意味著這個(gè)像素要保持原來(lái)的值镊逝。

2.3 邊緣檢測(cè)(Edge Detection)

我們要找水平的邊緣。需要注意的是嫉鲸,這里矩陣的元素和是0撑蒜,所以濾波后的圖像會(huì)很暗(數(shù)字圖像中,255對(duì)應(yīng)純白玄渗,0對(duì)應(yīng)純黑)座菠,只有邊緣的地方是有亮度的。


為什么這個(gè)濾波器可以尋找到水平邊緣呢藤树?因?yàn)橛眠@個(gè)濾波器卷積相當(dāng)于求導(dǎo)的離散版本:你將當(dāng)前的像素值減去前一個(gè)像素值浴滴,這樣你就可以得到這個(gè)函數(shù)在這兩個(gè)位置的差別或者斜率。下面的濾波器可以找到垂直方向的邊緣岁钓,這里像素上和下的像素值都使用:

再下面這個(gè)濾波器可以找到45度的邊緣:取-2不為了什么升略,只是為了讓矩陣的元素和為0而已微王。

那下面這個(gè)濾波器就可以檢測(cè)所有方向的邊緣:

為了檢測(cè)邊緣,我們需要在圖像對(duì)應(yīng)的方向計(jì)算梯度品嚣。用下面的卷積核來(lái)卷積圖像炕倘,就可以了。但在實(shí)際中翰撑,這種簡(jiǎn)單的方法會(huì)把噪聲也放大了罩旋。另外,需要注意的是额嘿,矩陣所有的值加起來(lái)要是0.

2.4 浮雕(Embossing Filter)

簡(jiǎn)單看一下實(shí)現(xiàn)浮雕效果所使用的卷積核:
浮雕濾波器可以給圖像一種3D陰影的效果瘸恼。只要將中心一邊的像素減去另一邊的像素就可以了。這時(shí)候册养,像素值有可能是負(fù)數(shù)东帅,我們將負(fù)數(shù)當(dāng)成陰影,將正數(shù)當(dāng)成光球拦,然后我們對(duì)結(jié)果圖像加上128的偏移靠闭。這時(shí)候,圖像大部分就變成灰色了坎炼。
下面是45度的浮雕濾波器



我們只要加大濾波器愧膀,就可以得到更加夸張的效果了


2.5 均值模糊(Box Filter)

我們可以將當(dāng)前像素和它的四鄰域的像素一起取平均,然后再除以5谣光,或者直接在濾波器的5個(gè)地方(注意:圖中卷積核中心寫錯(cuò)了檩淋,應(yīng)該是0.2)取0.2的值即可,如下圖:


可以看到萄金,這個(gè)模糊還是比較溫柔的蟀悦,我們可以把濾波器變大,這樣就會(huì)變得粗暴了:注意要將和再除以13.

所以氧敢,如果你想要更模糊的效果日戈,加大濾波器的大小即可∷锕裕或者對(duì)圖像應(yīng)用多次模糊也可以浙炼。

2.6 高斯模糊(Gaussian Blur)

均值模糊很簡(jiǎn)單,但不是很平滑唯袄。高斯模糊就有這個(gè)優(yōu)點(diǎn)弯屈,所以被廣泛用在圖像降噪上。特別是在邊緣檢測(cè)之前恋拷,都會(huì)用來(lái)移除細(xì)節(jié)资厉。高斯濾波器是一個(gè)低通濾波器。

高斯模糊卷積核

2.7 運(yùn)動(dòng)模糊(Motion Blur)

簡(jiǎn)單看一下實(shí)現(xiàn)浮雕效果所使用的卷積核:
運(yùn)動(dòng)模糊可以通過(guò)只在一個(gè)方向模糊達(dá)到梅掠,例如下面9x9的運(yùn)動(dòng)模糊濾波器酌住。注意,求和結(jié)果要除以9阎抒。



這個(gè)效果就好像酪我,攝像機(jī)是從左上角移動(dòng)的右下角。

3.卷積的計(jì)算

對(duì)圖像處理而言且叁,存在兩大類的方法:空域處理和頻域處理都哭!空域處理是指直接對(duì)原始的像素空間進(jìn)行計(jì)算,頻率處理是指先對(duì)圖像變換到頻域逞带,再做濾波等處理欺矫。

3.1 空域計(jì)算-直接2D卷積

  • 計(jì)算方法:

    直接2D卷積就是一開始說(shuō)的那樣,對(duì)于圖像的每一個(gè)像素點(diǎn)展氓,計(jì)算它的鄰域像素和濾波器矩陣的對(duì)應(yīng)元素的乘積穆趴,然后加起來(lái),作為該像素位置的值遇汞。



    直接的實(shí)現(xiàn)也稱為暴力實(shí)現(xiàn)brute force未妹,因?yàn)樗鼑?yán)格按照定義來(lái)實(shí)現(xiàn),沒有任何優(yōu)化空入。當(dāng)然了络它,在并行實(shí)現(xiàn)里面,它也是比較靈活的歪赢。另外化戳,也存在一個(gè)優(yōu)化版本,如果我們的kernel是separable可分的埋凯,那么就可以得到一個(gè)快5倍左右的卷積方法点楼。

  • 邊界處理

    那卷積核遇到圖像邊緣怎么辦?例如圖像頂部的像素递鹉,它的上面已經(jīng)沒有像素了盟步,那么它的值如何計(jì)算?目前有四種主流的處理方法躏结,我們用一維卷積和均值濾波來(lái)說(shuō)明下却盘。
    我們?cè)?D圖像中,用每個(gè)像素和它的二鄰域的平均值來(lái)取代它的值媳拴。假設(shè)我們有個(gè)1D的圖像I是這樣的:



    對(duì)非圖像邊界的像素的操作比較簡(jiǎn)單黄橘。假設(shè)我們對(duì)I的第四個(gè)像素3做局部平均蓖康。也就是我們用2,3和7做平均仇让,來(lái)取代這個(gè)位置的像素值凸丸。也就是茸时,平均會(huì)產(chǎn)生一副新的圖像J润歉,這個(gè)圖像在相同位置J (4) = (I(3)+I(4)+I(5))/3 = (2+3+7)/3 = 4。同樣罚随,我們可以得到J(3) = (I(2)+I(3)+I(4))/3 =(4+2+3)/3 = 3壤靶。需要注意的是,新圖像的每個(gè)像素都取決于舊的圖像椰于,在計(jì)算J (4)的時(shí)候用J (3)是不對(duì)的怠益,而是用I(3),I(4)和I(5)瘾婿。所以每個(gè)像素都是它和它鄰域兩個(gè)像素的平均蜻牢。平均是線性的操作,因?yàn)槊總€(gè)新的像素都是舊像素的線性組合偏陪。
    對(duì)卷積抢呆,也有必須要考慮的情況是,在圖像邊界的時(shí)候笛谦,怎么辦抱虐?J(1)的值應(yīng)該是什么?它取決于I(0)揪罕,I(1)和I(2)梯码。但是我們沒有I(0)呀!圖像左邊沒有值了好啰。有四種方式來(lái)處理這個(gè)問題:

方法一:想象I是無(wú)限長(zhǎng)的圖像的一部分轩娶,除了我們給定值的部分,其他部分的像素值都是0框往。在這種情況下鳄抒,I(0)=0。所以J(1) = (I(0) + I(1) + I(2))/3 = (0 + 5 + 4)/3= 3. 同樣椰弊,J(10) = (I(9)+I(10)+I(11))/3 = (3+ 6 + 0)/3 = 3.



方法二:想象I是無(wú)限圖像的一部分许溅。但沒有指定的部分是用圖像邊界的值進(jìn)行拓展。在我們的例子中秉版,因?yàn)閳D像I最左邊的值I(1)=5贤重,所以它左邊的所有值,我們都認(rèn)為是5 清焕。而圖像右邊的所有的值并蝗,我們都認(rèn)為和右邊界的值I(10)一樣,都是6秸妥。這時(shí)候J(1) = (I(0) + I(1) + I(2))/3 = (5 + 5 + 4)/3= 14/3. 而J(10) = (I(9)+I(10)+I(11))/3 = (3 + 6 + 6)/3 = 5滚停。


方法三:認(rèn)為圖像是周期性的。也就是I不斷的重復(fù)粥惧。周期就是I的長(zhǎng)度键畴。在我們這里,I(0)和I(10)的值就是一樣的突雪,I(11)的值和I(1)的值也是一樣的起惕。所以J(1) = (I(0) + I(1) + I(2))/3= (I(10) + I(1)+ I(2))/3 = (6 + 5 + 4)/3 = 5 涡贱。


3.2 頻域計(jì)算-快速傅里葉變換FFT卷積

后面的部分還沒學(xué)習(xí),詳見:http://blog.csdn.net/zouxy09/article/details/49080029

4.圖像濾波

4.1 圖像濾波的目的

濾波就是要去除沒用的信息惹想,保留有用的信息盼产,可能是低頻,也可能是高頻

4.2 圖像的濾波方法

圖像的濾波方法很多勺馆,主要可以分為頻率域法空間域法兩大類。頻率域法的處理是在圖像的某種變換域內(nèi)侨核,對(duì)圖像的變換系數(shù)值進(jìn)行運(yùn)算草穆,然后通過(guò)逆變換獲得增強(qiáng)圖像。這是一種間接的圖像濾波方法搓译”空間濾波方法是一類直接的濾波方法,它在處理圖像時(shí)直接對(duì)圖像灰度作運(yùn)算些己。

  • 頻率域?yàn)V波
    將圖像從空間或時(shí)間域轉(zhuǎn)換到頻率域豌鸡,再利用變換系數(shù)反映某些圖像特征的性質(zhì)進(jìn)行圖像濾波。
    傅立葉變換是一種常用的變換段标。在傅立葉變換域涯冠,頻譜的直流分量正比于圖像的平均亮度,噪聲對(duì)應(yīng)于頻率較高的區(qū)域逼庞,圖像實(shí)體位于頻率較低的區(qū)域蛇更。圖像在變換具有的這些內(nèi)在特性可被用于圖像濾波∪悖可以構(gòu)造一個(gè)低通濾波器,使低頻分量順利通過(guò)而有效地阻于高頻分量璧南,即可濾除圖像的噪聲,再經(jīng)過(guò)反變換來(lái)取得平滑的圖像司倚。

低通的數(shù)學(xué)表達(dá)式如下所示:



F(u,v)表示原圖的在傅里葉域的圖像
H(u,v)表示傳遞函數(shù)(即低通濾波器)
G(u,v)表示經(jīng)過(guò)低通濾波的F(u,v)


選擇適當(dāng)?shù)膫鬟f函數(shù)H (u, v)對(duì)頻率域低通濾波關(guān)系重大。常用的傳遞函數(shù)有梯形函數(shù)对湃、指數(shù)函數(shù)巴特沃思函數(shù)等拍柒。
頻域常用的幾種低通濾波器為:理想低通濾波器(Ideal circular Iow-passfilter)巴特沃思(Butterworth)低通濾波器脂男、指數(shù)低通濾波器梯形低通濾波器养叛。這些低通濾波器宰翅,都能在圖像內(nèi)有噪聲干擾成分時(shí)起到改善的作用弃甥。

  • 平面空間域?yàn)V波

平面空間域?yàn)V波法主要分為兩類:

  1. 擬合圖像的方法,包括n階多項(xiàng)式擬合汁讼、離散正交多項(xiàng)式擬合淆攻、二次曲面擬合等
  2. 平滑圖像的方法,包括領(lǐng)域平均法嘿架、中值濾波法瓶珊、梯度倒數(shù)加權(quán)法、選擇式掩模法等

平面空間域?yàn)V波主要使用兩種濾波器:

  1. 高通濾波器:邊緣提取與增強(qiáng)耸彪。邊緣區(qū)域的灰度變換加大伞芹,也就是頻率較高。所以蝉娜,對(duì)于高通濾波唱较,邊緣部分將被保留,非邊緣部分將被過(guò)濾
  2. 低通濾波:將會(huì)是邊緣部分變得平滑召川。注意:高斯濾波是一種線性平滑濾波南缓,即低通濾波,適用于消除高斯噪聲荧呐。
    常用的高斯模板有如下幾種形式:

    高斯模板中的參數(shù)是通過(guò)高斯函數(shù)計(jì)算出來(lái)的西乖。計(jì)算高斯模板參數(shù)時(shí),通過(guò)如下公式:

    x的平方和y的平方分別表示的是鄰域內(nèi)其他像素與鄰域內(nèi)中心像素的距離坛增,Sigmma代表的是標(biāo)準(zhǔn)差获雕。

實(shí)驗(yàn)效果圖:(后面補(bǔ))

常見的低通濾波實(shí)驗(yàn)效果圖

線性與非線性濾波

  • 線性濾波:
    線性濾波器的原始數(shù)據(jù)與濾波結(jié)果是一種算術(shù)運(yùn)算,即用加減乘除等運(yùn)算實(shí)現(xiàn)收捣,如均值濾波器(模板內(nèi)像素灰度值的平均值)届案、高斯濾波器(高斯加權(quán)平均值)等。由于線性濾波器是算術(shù)運(yùn)算罢艾,有固定的模板楣颠,因此濾波器的轉(zhuǎn)移函數(shù)是可以確定并且是唯一的(轉(zhuǎn)移函數(shù)即模板的傅里葉變換)。
  • 非線性濾波:
    非線性濾波器的原始數(shù)據(jù)與濾波結(jié)果是一種邏輯關(guān)系咐蚯,即用邏輯運(yùn)算實(shí)現(xiàn)童漩,如最大值濾波器最小值濾波器矫膨、中值濾波器等侧馅,是通過(guò)比較一定鄰域內(nèi)的灰度值大小來(lái)實(shí)現(xiàn)的,沒有固定的模板谊娇,因而也就沒有特定的轉(zhuǎn)移函數(shù)(因?yàn)闆]有模板作傅里葉變換)济欢,另外船逮,膨脹和腐蝕也是通過(guò)最大值、最小值濾波器實(shí)現(xiàn)的杂靶。五種常見的非線性濾波算子吗垮,這五種濾波算子對(duì)不同的圖像都會(huì)有不同的作用烁登,最常用的是中值濾波饵沧,因?yàn)樗男Ч詈们倚畔p失的最少狼牺。
    • 極大值濾波:
      極大值濾波就是選取像素點(diǎn)領(lǐng)域的最大值作為改點(diǎn)的像素值是钥,有效率去了灰度值比較低的噪聲,也可作為形態(tài)學(xué)里面的膨脹操作虏冻。
    • 極小值濾波:
      與極大值濾波相反厨相。
    • 中點(diǎn)濾波:
      中點(diǎn)濾波器將鄰域的最大和最小值求平均來(lái)代替當(dāng)前像素點(diǎn)值悯森。
    • 中值濾波:
      中值濾將鄰域內(nèi)像素點(diǎn)值排序绪撵,用序列中的中值取代當(dāng)前像素點(diǎn)值音诈∠附Γ可以消除圖像中的長(zhǎng)尾噪聲喇聊,例如負(fù)指數(shù)噪聲和椒鹽噪聲。
    • 加權(quán)中值濾波(中值濾波的改進(jìn))
      網(wǎng)上的解釋:
      加權(quán)中值濾波是在中值濾波的基礎(chǔ)上加以改進(jìn)朋贬,其性能在一定程度上優(yōu)于中值濾波锦募。
      下面是自己在算法上的改進(jìn)糠亩,以例子說(shuō)明:
      若說(shuō)選模板的大小為5赎线,那么這個(gè)模板就唯一確定為:
      1 1 5 1 1
      1 1 5 1 1
      5 5 5 5 5
      1 1 5 1 1
      1 1 5 1 1
      上圖中的數(shù)字表式改點(diǎn)像素在序列中出現(xiàn)的次數(shù)氛驮。然后根據(jù)模板平滑圖像矫废。實(shí)驗(yàn)證明該方法好于傳統(tǒng)中值濾波蓖扑。
      自己的理解:
      加權(quán)中值濾波就是在對(duì)鄰域像素值進(jìn)行排序時(shí)律杠,有些像素值讓它多出現(xiàn)幾次。比如上面的模板灰嫉,就是讓與當(dāng)前像素點(diǎn)同行同列的像素點(diǎn)的值都出現(xiàn)5次讼撒。

5.結(jié)語(yǔ)

圖像的卷積核濾波是圖像處理中比較基礎(chǔ)又很重要的部分根盒,主要應(yīng)用在去除圖像噪聲炎滞,提取圖像邊緣等場(chǎng)合诬乞。
文中如有不當(dāng)之處歡迎留言震嫉。我們下次再見责掏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末换衬,一起剝皮案震驚了整個(gè)濱河市瞳浦,隨后出現(xiàn)的幾起案子叫潦,更是在濱河造成了極大的恐慌矗蕊,老刑警劉巖傻咖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卿操,死亡現(xiàn)場(chǎng)離奇詭異扇雕,居然都是意外死亡窥摄,警方通過(guò)查閱死者的電腦和手機(jī)溪王,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門移国,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迹缀,“玉大人蜜徽,你說(shuō)我怎么就攤上這事拘鞋。” “怎么了灰蛙?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵摩梧,是天一觀的道長(zhǎng)仅父。 經(jīng)常有香客問我笙纤,道長(zhǎng)组力,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任城舞,我火速辦了婚禮寞酿,結(jié)果婚禮上伐弹,老公的妹妹穿的比我還像新娘。我一直安慰自己煌茴,他們只是感情好蔓腐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布回论。 她就那樣靜靜地躺著傀蓉,像睡著了一般葬燎。 火紅的嫁衣襯著肌膚如雪谱净。 梳的紋絲不亂的頭發(fā)上蹄胰,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天裕寨,我揣著相機(jī)與錄音宾袜,去河邊找鬼驾窟。 笑死绅络,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纪蜒。 我是一名探鬼主播此叠,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼猬错,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼茸歧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起析校,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤智玻,失蹤者是張志新(化名)和其女友劉穎吊奢,沒想到半個(gè)月后页滚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铺呵,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幻林,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年沪饺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了整葡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遭居。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俱萍,死狀恐怖鼠次,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情成翩,我是刑警寧澤麻敌,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站乙漓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寥殖。R本人自食惡果不足惜嚼贡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一粤策、第九天 我趴在偏房一處隱蔽的房頂上張望叮盘。 院中可真熱鬧熊户,春花似錦吭服、人聲如沸艇棕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)友鼻。三九已至,卻和暖如春僻爽,著一層夾襖步出監(jiān)牢的瞬間胸梆,已是汗流浹背碰镜。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工济蝉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菠发。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓王滤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親滓鸠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雁乡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容