工业机器视觉系统相机如何选型?(理论篇—3)

数字图像是机器视觉系统工作的前提和基础,工业机器视觉系统把成像子系统的信号转换为反映现实场景的二维数字图像,并对其进行分析、处理,得出各种指令来控制机器的动作。

1、图像基础知识

图像是指所有具有视觉效果的画面,它是对客观对象的一种相似的、生动的描述。

根据色彩不同,图像可以分为彩色图像和黑白(灰度)图像。通过对人眼结构及特性的研究发现,人眼对红(R)、绿(G)、蓝(B)3种颜色特别敏感,不同强度的RGB混合后刺激视网膜上的锥状体,使人眼可以感知自然界中的几乎所有色彩。反过来,自然界中的色彩可以分解为不同强度RGB基本色的组合,这种表示色彩的方式称为RGB颜色模型或RGB色彩空间,如下图所示:

相应地,也可以将彩色图像的研究分解为对RGB分量所对应的灰度图像的研究。

1.1、图像类型

图像根据记录方式的不同可分为模拟图像和数字图像两大类。

如果将灰度图像看作二维空间上的光强度函数f (x,y),则模拟灰度图像就是对该空间上光强度幅值f变化的连续记录。当(x,y)和f为离散、有限的数值时,光强度幅值f的变化将以类似矩阵的形式被记录,此时所记录的图像就称为数字图像,而所记录的值对应在图像中的每个点称为像素(pixel),横向及纵向像素的个数称为图像的分辨率(image resolution),如果是彩色数字图像,则在计算机中需要记录每个像素对应的RGB分量,如下图所示:

工业机器视觉系统中提及的图像通常就指数字图像。

1.2、图像分别率、系统分辨率和像素分辨率

图像分辨率、系统分辨率和像素分辨率是机器视觉系统设计时较常见的参数,它们通常与客户对机器视觉系统的需求关系最为密切,是选择相机和镜头的重要依据。

图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸。图像分辨率一般被用于PS中,用来改变图像的清晰度。

系统分辨率指成像系统可以识别出监测目标的最小细节或最小特征。诸如“要求系统能检测0.1mm的目标"、"要求系统测量精度达到0.01mm"之类的要求一般都和系统分辨率相关。

像素分辨率指为了表示检测目标所需要的像素数。一般情况下,可以根据客户对检测目标中最小特征的要求来确定最小像素分辨率。如果将整个图像看作周期为最小特征大小的周期信号,则根据奈奎斯特采样定律,必须对信号每个周期采样2个点以上,才能完整恢复该信号。因此如果客户没有特别要求,常用至少两个像素来代表检测目标中的最小特征,这可被看作是图像传感器的奈奎斯特定律。

图像传感器应具备的最小像素分辨率常通过下面的公式计算:

Rmin为最小像素分辨率。

Lmax为检测目标的最大长度。

lmin为检测目标的最小特征长度(视觉系统的分辨率)。

pmin为表示最小特征的像素数。

在无特别要求时,pmin=2,如果客户要求使用多于2像素来表示最小特征,则最小分辨率将适当增加。

1.3、视场

视场(Field of View,FOV)指成像系统中图像传感器可以监测到的最大区域。在机器视觉系统设计时,考虑到一般都会使被检测目标尽量填满整视场,因此常用视场大小代替目标的最大长度Lmax来计算视觉系统的像素分辨率。如下图(a)所示,表示被检测目标在水平方向上占据整个视场,而图(b)表示目标未填满视场。

如果横纵方向上视场大小为[FOVh,FOVv],检测目标的最小特征的大小为[Ih,lv],则图像传感器应具有的最小像素分辨率为:

成像系统视场的大小可以通过研究其成像规律得知。目前,机器视觉系统常用使用配备各种镜头系统的工业CCD/CMOS相机作为成像系统,透镜成像示意图如下所示:

镜头系统一般使用透镜系统,其成像遵循高斯成像公式:

f为透镜焦距(focal length,凸正凹负)。

u为物距。

v为像距(实正虚负)。如下图所示。通常将像距与物距的比值定义为透镜的放大率M:

2、影响成像质量的因素

数字图像是对成像系统输出的信号进行数字化后的结果,成像系统反映真实场景的性能和质量直接决定整个机器视觉系统的性能。

影响机器视觉成像系统成像质量的因素主要包括:光源(Illumination)、系统分辨率(System Resolution)、像素分辨率(Pixel Resolution)、对比度(Contrast)、景深(Depth of Field,DOF)、投影误差(Perspective Error)和镜头畸变(Lens Distortion)。

而这些因素(参数)却直接或间接地由硬件选型和安装方式决定。

3、成像系统模型

工业或研究领域的成像系统多种多样,常见的有工业CCD/CMOS相机、工业显微镜、生物显微镜、X射线成像仪、红外成像仪、热成像仪等。无论这些成像系统的原理有多复杂,都可被抽象为下图所示的简化模型。

千差万别的成像系统对现实世界中的可见光、红外、X射线、热量等实施某种转换T (x,y),将物理量转换为电信号,再经图像采集设备采样、量化后生成数字图像。

4、镜头系统简化模型

由于对机器视觉成像系统来说,相机镜头到所检测目标的距离(称为工作距离,相当于物距)相对于相机焦距可近似认为是无穷远。若将其带入高斯成像公式,可得出此时相机像距近似等于其焦距,也就是说相机成像在焦平面上。据此,可以将镜头系统抽象为类似小孔成像的简化模型,如下图所示:

根据该简化模型,可以得出机器视觉系统图像传感器尺寸S(传感器平面某个方向上的长度)、视场FOV、工作距离WD及镜头焦距f之间的约束关系:

此时,透镜的放大率M则可以等效为:

如果进一步将前述最小像素分辨率的计算公式与该约束关系结合(用视场FOV代替目标的最大长度Lmax),则可以得出以下成像系统简化模型的参数约束关系:

该公式所显示的参数间的相互约束关系是机器视觉系统设计和搭建部署时系统设计和设备选型的基础。

实际中传感器尺寸S可以通过查询相机的技术规范获知,焦距f、工作距离WD直接由所选择的镜头决定。在已知这些参数时,可以很容易地计算出视场FOV。相机的像素分辨率由其有效像素区域(即传感器尺寸)决定,通常用横向和纵向有效像素数来表示(如768×576)。为机器视觉系统所选择的相机像素分辨率,必须大于或等于按照项目需求(包括对最小特征尺寸lmin和用于表示最小特征的像素数pmin的要求)计算出的最小像素分辨率Rmin。下图进一步显示了公式中涉及的参数含义:

5、镜头与相机的选型

工业机器视觉系统中,镜头与相机的选型非常重要。如果事先既未确定相机又未确定镜头,则需要先了解项目工作环境对相机安装(工作距离)、要检测的最大范围(视场)、最小特征的尺寸和代表它的像素数的要求,然后根据这些条件来计算应使用何种镜头或相机。下图为机器视觉项目选择镜头和相机的简化流程:

无论何种情况,都是基于成像系统简化模型的参数约束关系和项目需求获取最优搭配的过程。

5.1、镜头的选型

如果将机器视觉系统与人类视觉系统进行类比,那么相机的传感器芯片就如同人的视网膜,而镜头则相当于眼睛内的晶状体。各种现实世界中的图像都通过这个“晶状体"对光线进行变换(汇聚)后,投射在"视网膜”上。

机器视觉成像系统使用的镜头通常由凸透镜和凹透镜结合设计而成。

单个凸透镜或凹透镜是进行光束变换的基本单元。凸透镜可对光线进行汇聚,也称为会聚透镜或正透镜。

凹透镜对光线具有发散作用,也称为发散透镜或负透镜。

两种透镜成像均遵循高斯成像公式,通过把它们结合使用,在校正各种像差和失真后,设计出具有不同结构和技术指标的复合镜头系统。与镜头相关的主要技术参数有镜头分辨率、焦距、最小工作距离、最大像面、视场/视场角、景深、光圈和相对孔径及其安装接口类型等。

5.1.1、镜头分辨率

镜头的空间分辨率、相机像素分辨率和相机的空间分辨率、系统空间分辨率和系统分辨率是几个极容易混淆的概念。

镜头空间分辨率表示它的空间极限分辨能力,常用拍摄正弦光栅的方法来测试。如果从信号处理的角度来看,任何非周期图像信号都可以被看作周期图像(或子图像)的叠加,而任何周期图像又都可以被分解为亮度按正弦变化的图形的叠加。因此,通过研究镜头对亮度按正弦变化图形的反应,就可以研究镜头的性能和分辨率。正弦光栅就是亮度按照正弦变化的图像,如下图所示:

其中棚格黑白相间,可把黑色看作正弦波谷,把白色看作正弦波峰。正弦光栅中一对相邻黑线和白线称为一个线对(line pair,lp),它所占据的长度被定义为正弦光栅的空间周期,单位是毫米。正弦光栅空间周期的倒数就是空间频率(spatial frequency),它表示每毫米内的线对数,单位是线对/毫米(Ip/mm)。通过拍摄正弦光栅,研究镜头每毫米内能分辨的线对数,就可以获知镜头的分辨率。镜头分辨率越高,则说明其每毫米内能分辨的线对数越多。对于机器视觉系统设计来说,只需要查询镜头参数表即可获知其分辨率。

相机像素分辨率是指相机传感器上纵横方向上的像素数。

相机的空间分辨率却表示它的空间极限分辨能力。根据前述相机奈奎斯特定律,相机要能恢复空间图像,必须至少使用2个像素来表示图像的最小单元。如果用研究镜头的空间分辨率类似的方法来研究相机空间分辨率,则正弦光栅中的每对线需要至少2个像素来表示。由此,可以通过像素的物理大小来计算相机的空间分辨率。例如,某相机的像素物理大小为8.4um×9.8um,则相机在横纵方向上的空间分辨率为:

对于镜头和相机构成的成像系统来说,整个系统的空间分辨率取镜头和相机空间分辨率的最小值。

5.1.2、镜头成像要素

影响镜头成像的因素包括:焦距、最大像面、视场/视场角、渐晕、景深等方面。

焦距是指无限远处目标在镜头的像方所成像位置到像方主面的距离。焦距体现了镜头的基本特性:即在不同物距上,目标的成像位置和成像大小由焦距决定。市面上常见的镜头焦距大小包括6mm、8mm、12.5mm、25mm以及50mm等。对机器视觉成像系统来说,工作距离就是成像系统中所说的物距。由于视觉成像系统模型的假定条件是工作距离相对于镜头焦距为无限远,因此一般在镜头的产品参数中都会说明其最小工作距离。当相机在小于该最小工作距离的环境下工作时,就会出现图像失真,影响机器视觉系统的可靠性。

最大像面是指镜头能支持的最大清晰成像范围(常用可观测范围的直径表示),超出这个范围所成的像对比度会降低而且会变得模糊不清。最大像面是由镜头本身的特性决定的,它的大小也限定了镜头可支持的视场的大小。

镜头的视场就是镜头最大像面所对应的观测区域。视场角是视场的另一种表述方法,类似人眼“视角"的意义。视场角等于最大像面对应的目标张角。通常,在远距离成像系统中,例如望远镜、航拍镜头等场合,镜头的成像范围均用视场角来衡量。而近距离成像中,常用实际物面的直径(即幅面)来表示。

由于机器视觉成像系统中的传感器多制作成长方形或正方形,因此镜头的最大像面常用它可以支持的最大传感器尺寸(单位为英寸,1英寸约为2.54cm)来表示。相应地,镜头的视场也可以用最大像面所对应的横向和纵向观测距离或视场角来表示,如下图所示:

对于同一相机来说,有公式如下:

S为相机传感器在二维平面某个维度上的大小。

f为焦距。

2w为视场角。

由于相机传感器尺寸固定,因此视场角也可以被看作焦距的另一种表达。因此在生活中,人们常按照镜头的视场角对其进行分类,如望远镜(6~12°)、远距摄像镜头(120~46°) .标准镜头(46~65°)、广角镜头(650~100°)及超广角镜头( >100°)等。

一般来说,镜头的失真会随着焦距的减小(或视场角的增大)而增大,因而在构建机器视觉系统(特别是精确测量系统)时,一般都不会选择焦距小于8mm或视场角很大的镜头。

鉴于镜头能清楚成像的范围受到最大像面的限制,因此在为相机选配镜头时,要特别注意相机传感器与镜头可支持最大传感器之间的关系。

一般来说,必须确保所选镜头可支持的最大传感器尺寸大于或等于相机的传感器尺寸。这样做的另一个主要原因是为了避免渐晕(Vignetting)现象的发生。

如图下图(c)所示,如果相机传感器的尺寸大于镜头可支持的最大传感器尺寸时,所生成的图像就会形成类似隧道的效果,该现象称为渐晕现象。渐晕现象会增加机器视觉系统的开发难度,因此应尽量避免。下图中的(a) 、(b)分别显示了在镜头可支持的最大传感器尺寸等于或大于相机的传感器尺寸时视觉系统的成像情况,这两种情况下机器视觉系统均能正常工作。

景深也是一个与镜头和成像系统关系十分密切的参数,它是指在镜头前沿着光轴所测定的能够清晰成像的范围,如下图所示:

在成像系统的焦点前后,物点光线呈锥状开始聚集和扩散,点的影像沿光轴在焦点前后逐渐变得模糊,形成一个扩大的圆,这个圆称为弥散圆(circle of confusion)。若这个圆形影像的直径足够小(离焦点较近),成像会足够清晰,如果圆形再大些(远离焦点),成像就会显得模糊。当在某个临界位置所成的像不能被辨认时,则该圆就被称为容许弥散圆(permissible circle of confusion)。焦点前后两个容许弥散圆之间的距离称为焦深。在目标物一侧,焦深对应的范围就是景深。

e为容许弥散圆的直径。

f为镜头焦距。

D为对焦距离。

F为镜头的拍摄光圈(aperture)值。光圈值F常用镜头焦距和镜头入瞳的有效直径Din的比值来表示,它是镜头相对孔径Dr的倒数,即:

从景深公式可以看出,后景深要大于前景深,而且景深一般随着镜头的焦距、光圈值、对焦距离(可近似于拍摄距离)的变化而变化。在其他条件不变时:

光圈越大(光圈值F越小),景深越小;光圈越小(光圈值F越大),景深越大。

镜头焦距越长,景深越小;焦距越短,景深越大。

距离越远,景深越大;距离越近,景深越小。

在检测目标的高度在一定范围内可能变化的情况下,选择合适的景深,对于机器视觉系统的稳定性尤为重要。

5.1.3、普通镜头和远心镜头

普通镜头与人眼一样,观测物体时都存在"近大远小”的现象,如下图 (a)所示。也就是说,虽然物体在景深范围内可以清晰成像,但是其成像却随着物距增大而缩小。如果被测目标不在同一物面上(如有厚度的物体),则会导致图像中的物体变形。另一方面,相机传感器的感光面通常并不容易被精确调整到与镜头的像平面重合(调焦不准),由此也会产生误差。为此,人们设计了远心镜头。

远心镜头(telecentric lens)有较大的景深,且可以保证景深范围内任何物距都有一致的图像放大率,如下图 (b)所示。多数机器视觉在测量、缺陷检测或者定位等应用上,对物体成像的放大倍率没有严格要求,一般只要选用畸变较小的镜头,就可以满足要求。但是,当机器视觉系统需要检测三维目标(或检测目标不完全在同一物面上)时,就需要使用远心镜头。

例如,要检测厚度大于视场直径的1/10的物体,或需要检测带孔径、三维的物体等。一般来说,如果被测目标物面变化范围大于视场直径的1/10时,就需要考虑使用远心镜头。它可以确保测试过程中物距在一定范围内改变时,系统放大倍数保持不变,从而保证系统的测量精度。

5.2、相机的选型

5.2.1、CCD/CMOS

早期的相机多基于显像管成像。随着集成电子技术和固体成像器件的发展,以电荷耦合器件(Charge Coupled Device,CCD)为传感器的相机,因其与真空管相比具有无灼伤、无滞后、工作电压及功耗低等优点而大行其道。CCD于1969年由美国贝尔实验室的Willard S.Boyle和George E.Smith发明,它能够将光线变为电荷存储起来,并随后可在驱动脉冲的作用下将存储的电荷转移到与之耦合的区域。人们正是利用它的这一特点发明了各种各样的CCD成像设备。

CCD实际上可以被看作由多个MOS (Metal Oxide Semiconductor)电容组成。在P型单晶硅的衬底上通过氧化形成一层厚度约为100~150nm的SiOz绝缘层,再在SiO,表面按一定层次蒸镀一层金属或多晶硅层作为电极,最后在衬底和电极间加上一个偏置电压(栅极电压),即可形成一个MOS电容器,如下图所示:

CMOS (Complementary Metal Oxide Semiconductor)图像传感器的开发最早出现在20世纪70年代初。20世纪90年代初期,随着超大规模集成电路(VLSI)制造工艺技术的发展,CMOS图像传感器得到迅速发展。CMOS图像传感器的光电转换原理与CCD图像传感器相同,二者的主要差异在于电荷的转移方式上。CCD图像传感器中的电荷会被逐行转移到水平移位寄存器,经放大器放大后输出。由于电荷是从寄存器中逐位连续输出的,因此放大后输出的信号为模拟信号。在CMOS传感器中,每个光敏元的电荷都会立即被与之邻接的一个放大器放大,再以类似内存寻址的方式输出,如下图所示:

因此CMOS芯片输出的是离散的数字信号,之所以采用两种不同的电荷传递方式,是因为CCD是在半导体单晶硅材料上集成的,而CMOS则是在金属氧化物半导体材料上集成的,工艺上的不同使得CCD能保证电荷在转移时不会失真,而CMOS则会使电荷在传送距离较长时产生噪声,因此使用CMOS时,必须先对信号放大再整合输出。

CCD和CMOS图像传感器比较,如下表所示:

5.2.2、模拟相机和数字相机

CCD/CMOS芯片完成光电转换后,其输出为模拟或数字电信号。通常该信号还要被进一步放大、矫正,添加同步、调制或采样编码,生成符合各种标准的视频信号后才正式输出。理论上讲,相机的输出信号可以是任意自定义的形式。但是,由于电视系统先于机器视觉发展多年,若以电视系统中已广泛使用的视频方式输出信号,不仅更便于信号的传输,还能最大限度地利用各种现有的成熟软硬件技术,因此除了少数相机输出非标准信号外,大多数相机的输出都是模拟或数字视频信号。机器视觉相机也因此根据其输出信号的形式分为模拟相机和数字相机两大类。

模拟相机的输出信号通常被加工为可以支持隔行扫描(interlacing scan)显示的视频信号,以便其能与传统电视或视频监控等系统兼容,而多数数码相机的输出则直接按照支持逐行扫描(progressive scan)的方式进行编码。我们知道,支持逐行扫描的视频信号将每一帧图像按顺序逐行连续编码,传送到显示设备后,也会被逐行以扫描的方式显示。支持逐行扫描的信号数据量很大,在电视技术发展的初期要通过天线传输的此类信号极其困难。为了能减少信号的数据量,同时不影响图像的视觉效果,人们提出了隔行扫描的方法。

与模拟相机不同,数字相机会通过其内部集成的A/D转换器将图像转换为数字信号,并编码为数字视频后,按照RS-422、LVDS (RS-644) 、 FireWire 1394、USB、Camera Link或千兆以太网GigE(Gigabit Ethernet)等标准传输。相机中的A/D转换器位数决定了它能从暗到亮识别的灰度级数,常用位深度(bit depth)来表述,如8位、10位、12位或16位等。

对于彩色相机来说,相机的位深度决定了RGB各色彩分量中灰度数据的丰富程度,也就决定了相机能识别或表示的颜色数量。对黑白相机来说,位深度则直接决定了相机可以识别的灰度级数。

例如,一个8位的黑白数字相机最高能够检测0(暗)~256(亮)个灰度级,而一个12位相机则可以检测0~4096个灰度级。如果要检测的灰度级间隔比较细,则应尽量使用位数高的相机。例如,若要检测213和214灰度级之间的灰度级,则应使用超过8位的相机。

数字视频信号多采用逐行扫描方式代替隔行扫描,且用帧有效(frame enable)和行有效(line enable)信号代替了模拟视频信号中的场同步和行同步信号,来精确控制每行和每帧图像。每行中的单个像素都以独立数字信号的形式,在像素时钟的控制下传送,由于数字视频信号的同步信号(帧有效、行有效和像素时钟)与图像数据并没有像模拟视频信号那样混合在一起传输,因此数字视频信号不存在模拟视频信号的像素抖动问题。此外,数字视频相对于模拟视频有较高的分辨率和帧率、较多的灰度等级、高传输速度、较低的信号衰减和噪声等优点。

6、总结

为机器视觉系统选择相机,是一个综合镜头和图像采集卡与相机的接口以及相机自身参数的逐步筛选的过程。按道理来说,第一步应该确定相机与镜头和图像采集卡的物理接口,以便所选的相机可以与镜头和采集卡正常连接。但是,由于目前相机与镜头和电脑/图像采集卡之间的接口都趋于标准化,这就使得我们可以直接从项目对机器视觉系统的精度要求入手来选择相机。

相机选择并无固定流程可循,根据经验,应主要从以下几个方面进行(暂不考虑预算)︰

根据项目要求和机器视觉成像系统模型,确定相机的传感器尺寸及分辨率。

确定相机的输出方式及标准(模拟/数字,色彩,速率等)。

确定相机物理接口及电器接口。

确定相机其他性能指标。

本文参考:图像处理、分析与机器视觉(基于LabVIEW),强烈推荐阅读~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容