鱼眼图像提取有效区域(Python实现) 改进的线扫描法

19 篇文章 1 订阅
订阅专栏

问题描述

常见的鱼眼图像如下图所示,四周有一些黑色,故在处理鱼眼图像之前,需要将中间圆形的有效区域提取出来(计算圆心与半径)。

方案

本文的区域提取策略参考硕士论文《鱼眼成像全景漫游系统的研究》,链接:https://xueshu.baidu.com/usercenter/paper/show?paperid=5a422997f595ef7b2d4dbe5f64b541ee&site=xueshu_se

以下节选自论文。

线扫描法

原理很直观,它的思路是将原始图像灰度化,然后在灰度图上,分别使用水平和垂直两对直线,从上下左右四个方向夹逼圆形有效区域,获得四个切点的坐标,之后利用这两对坐标,计算出圆心坐标和半径大小。在扫描线移动的过程中,只要同一扫描线上的像素最大亮度值与最小亮度值之差大于设定的阈值,便认为该扫描线已经与圆形有效区域相切,最大亮度值的像素点即为切点(这是论文原话,但我个人觉得表述不太完整,应该是在直线逼近圆的过程中,第一个满足“同一扫描线上的像素最大亮度值与最小亮度值之差大于设定的阈值”这一条件的点)。   

假设两对切点的图像坐标值分别为:

则圆心和半径的图像坐标值可以这样得到:

改进的线扫描法

传统的线扫描法仅仅从上下左右四个方向逼近圆形区域,如果圆形区域刚好在这四个顶点附近存在较多噪声点,必然会导致该方法产生误差,针对这一情况,本文使用成对的不同倾斜角的直线,按照与传统线扫描法相同的判断方法:在扫描线移动的过程中,只要同一扫描线上的像素最大亮度值与最小亮度值之差大于设定的阈值,便认为该扫描线已经与圆形有效区域相切,最大亮度值的像素点即为切点。

从各个方向对圆形区域夹逼,求取切点坐标,并对这些切点进行筛选,剔除一些无效切点,利用剩余的切点坐标进行圆拟合,进而计算出圆心坐标和半径。

首先,令直线对的倾斜角从0开始,以Π/2n递增(n为设定的常数,越大越精确),分别从圆形区域两侧逼近,从而找到各对切点的坐标值。同一条直线所获得的两个切点称为一对切点。

连接每对切点,其距离的一半为这对切点对整个圆的半径的估测值。求所有估测值的平均值。由于所求切点接近圆的内部(论文中是外部,这一点跟我所观察的结果不一样),故将估测半径小于平均值的点对剔除。

之后,按照下面的方法(Kasa圆拟合法)进行圆拟合,得到圆心和半径。

代码

config.py

就是一些全局变量。

class Config(object):
    pi=3.1415926535
    n=10
    #图片大小
    l=0
    w=0
    #灰度阈值,用于切点判断
    thre=50
    #路径
    path='D:/TheMoth/fisheye.jpg'

main.py

from PIL import Image
from torchvision.transforms import ToTensor,ToPILImage
import matplotlib.pyplot as plt
import numpy as np
import math
from config import Config
import cv2
#设置
opt = Config()
#下面四个数组临时存储切点对,其中(sx[i],sy[i])与(tx[i],ty[i])表示同一直线所切的一对切点
sx=[]
sy=[]
tx=[]
ty=[]
#切点对之间的距离
dis=[]
#存储最终的切点集
xx=[]
yy=[]
#绘制图像,同时获取图像长宽
def open_img():
    '''打开图像'''
    img=Image.open(opt.path)
    #绘制图像
    plt.imshow(img)
    #将图片转化为numpy数组
    data=np.asarray(img)
    #维度转置
    data=np.transpose(data,[2,0,1])
    #获取图像的长宽
    opt.l=len(data[0])
    opt.w=len(data[0][0])
    return data

#获取灰度图像
def open_cvmg():    
    src=cv2.imread(opt.path, cv2.IMREAD_GRAYSCALE)
    data=np.asarray(src)
    return data
pic_one_channel=open_cvmg()

直线扫描

在判断切点的时候,需要扫描整条直线,为保证扫描的精确性,采用计算机图形学中的DDA算法扫描直线。

#DDA算法扫描,(x0,y0)(x1,y1)为起始点坐标
def scanline(x0,y0,x1,y1):
    if(x0==x1 and y0==y1):
        return 0,0,0
    dx=x1-x0
    dy=y1-y0
    x=float(x0)
    y=float(y0)    
    if(abs(dx)>abs(dy)):
        eps=abs(dx)
    else:
        eps=abs(dy)    
    xIncre=float(dx)/float(eps)
    yIncre=float(dy)/float(eps)
    
    maxc=0       #最大的灰度值
    minc=500     #最小的灰度值
    is_cut=0     #是否是切点
    #切点坐标
    r=0
    c=0
    
    for k in range(0,eps+1):
    
        #是否出界
        if(int(x)>=opt.l or int(y)>=opt.w):
            continue
        tem=pic_one_channel[int(x)][int(y)]
        if maxc<tem:
            maxc=tem
            r=int(x)
            c=int(y)
        minc=min(minc,tem)
        
        x+=xIncre
        y+=yIncre
    if(maxc-minc>=opt.thre):
        is_cut=1
    return is_cut,r,c

垂直,水平线用DDA不太方便,这里单独扫描。

#水平&垂直线扫描
def prescan():
    l=opt.l
    w=opt.w
    #从上到下
    for i in range(l):
        is_cut=0
        minc=500
        maxc=0
        r=0
        c=0
        for j in range(w):
            tem=pic_one_channel[int(i)][int(j)]
            if maxc<tem:
                maxc=tem
                r=int(i)
                c=int(j)
            minc=min(minc,tem)
        if(maxc-minc>=opt.thre):
            is_cut=1
        if(is_cut):
            sx.append(r)
            sy.append(c)
            break
        
    #从下到上
    for i in range(l-1,0,-1):
        is_cut=0
        minc=255
        maxc=0
        r=0
        c=0
        for j in range(w):
            tem=pic_one_channel[int(i)][int(j)]
            if maxc<tem:
                maxc=tem
                r=int(i)
                c=int(j)
            minc=min(minc,tem)
        if(maxc-minc>=opt.thre):
            is_cut=1
        if(is_cut):
            tx.append(r)
            ty.append(c)
            break
    
    #从左到右
    for j in range(w):
        is_cut=0
        minc=255
        maxc=0
        r=0
        c=0
        for i in range(l):
            tem=pic_one_channel[int(i)][int(j)]
            if maxc<tem:
                maxc=tem
                r=int(i)
                c=int(j)
            minc=min(minc,tem)
        if(maxc-minc>=opt.thre):
            is_cut=1
        if(is_cut):
            sx.append(r)
            sy.append(c)
            break    
    
    #从右到左
    for j in range(w-1,0,-1):
        is_cut=0
        minc=255
        maxc=0
        r=0
        c=0
        for i in range(l):
            tem=pic_one_channel[int(i)][int(j)]
            if maxc<tem:
                maxc=tem
                r=int(i)
                c=int(j)
            minc=min(minc,tem)
        if(maxc-minc>=opt.thre):
            is_cut=1
        if(is_cut):
            tx.append(r)
            ty.append(c)
            break  

绘制圆形

#参数方程法绘制圆形,r为半径,(u,v)为圆心
def draw_circle(r,u,v):
    theta = np.arange(0, 2*np.pi, 0.01)
    x = u + r * np.cos(theta)
    y = v + r * np.sin(theta)
    #这里圆是红色的
    plt.plot(x,y,'r')

主函数

if __name__ == '__main__':
    
    #读取彩色图像
    open_img()
    #先扫描水平&垂直的直线
    prescan()
    
    l=opt.l
    w=opt.w
    th=0
    
    #直线每次变化的角度
    step=opt.pi/(opt.n*2)
    
    for i in range(opt.n*2):
        
        #斜率
        k=math.tan(th)
        #(fr,fc)为扫描过程中,第一个满足切点条件的点
        #(lr,lc)为扫描过程中,最后一个满足切点条件的点
        #这里斜率相同的两条直线并不是分别从两端向圆逼近,而是穿过整个圆。第一个与最后一个满足切点条件的点为切点
        fr=-1
        fc=-1
        lr=-1
        lc=-1
        if(k<10 and k != 0):
            if(k>0):
                #平移直线
                for x0 in range(l,0,-1):
                    if(int(k*(l-x0))<=w):
                        is_cut,r,c=scanline(x0,0,l,int(k*(l-x0)))
                    elif(int(w/k+x0)<=l):
                        is_cut,r,c=scanline(x0,0,int(w/k+x0),w)
                    if(is_cut and fr==-1):
                        fr=r
                        fc=c
                    if(is_cut):
                        lr=r
                        lc=c
                for y0 in range(w):
                    if(int(k*l+y0)<=w):
                        is_cut,r,c=scanline(0,y0,l,int(k*l+y0))
                    elif(int((w-y0)/k)<=l):
                        is_cut,r,c=scanline(0,y0,int((w-y0)/k),w)
                    if(is_cut and fr==-1):
                        fr=r
                        fc=c
                    if(is_cut):
                        lr=r
                        lc=c
            if(k<0):
                for x0 in range(l):
                    if(int(-k*x0)<=w):
                        is_cut,r,c=scanline(x0,0,0,int(-k*x0))
                    elif(int(w/k+x0)<=l):
                        is_cut,r,c=scanline(x0,0,int(w/k+x0),w)
                    if(is_cut and fr==-1):
                        fr=r
                        fc=c
                    if(is_cut):
                        lr=r
                        lc=c
                for y0 in range(w):
                    if(int(y0-k*l<=w)):
                        is_cut,r,c=scanline(0,int(y0-k*l),l,y0)
                    elif(int((w-y0)/k+l)<=l):
                        is_cut,r,c=scanline(int((w-y0)/k+l),w,l,y0)
                    if(is_cut and fr==-1):
                        fr=r
                        fc=c
                    if(is_cut):
                        lr=r
                        lc=c
        if lc!=-1:
            sx.append(fr)
            sy.append(fc)
            tx.append(lr)
            ty.append(lc)
        th+=step
    
    mid_dis=0
    n=len(sx)
    
    #求距离与平均距离
    for i in range(n):
        d=math.sqrt((sx[i]-tx[i])*(sx[i]-tx[i])+(sy[i]-ty[i])*(sy[i]-ty[i]))
        dis.append(d)
    for i in range(n):
        mid_dis+=dis[i]
    mid_dis/=n
    
    #保留距离大于平均距离的点对
    for i in range(n):
        if(dis[i]>=mid_dis):
            xx.append(sx[i])
            xx.append(tx[i])
            yy.append(sy[i])
            yy.append(ty[i])
    
    #圆拟合法
    m=len(xx)
    a=np.ones((m,3))
    b=np.ones((m,1))
    for i in range(m):
        a[i][0]=xx[i]
        a[i][1]=yy[i]
        a[i][2]=1
    for i in range(m):
        b[i][0]=xx[i]*xx[i]+yy[i]*yy[i]
    p=np.matmul(np.linalg.pinv(a),b)
    p1=p[0][0]
    p2=p[1][0]
    p3=p[2][0]
    u0=p1/2
    v0=p2/2
    R=math.sqrt((p1*p1+p2*p2)/4+p3)
    
    #将圆绘制在原图上
    draw_circle(R, v0, u0)

提取效果

红色区域为提取区域,可见效果还不错。

 

自动驾驶之车位线检测之二单路鱼眼相机矫正裁剪(python ,C++,opencv)
xiao__run的博客
04-12 3922
前篇博文涉及到了使用四路鱼眼图像拼接并识别车位线,这个过程涉及到鱼眼图像的标定,矫正以及裁剪,这篇博文我就就这个工作详细介绍一下,工作流程如下: 1采集图像 首先采用opencv采集到棋盘格图像,大约20几张,我的棋盘格是11x8个角点,60mm大小.如下: 2 标定图像 将20几张图像放入一个文件夹,标定得出内参与畸变参数:,代码如下,opencv3版本与python import cv2 im...
快速扫描提取鱼眼图像有效区域
wd1603926823的专栏
05-12 4818
这个原理还是来自于《鱼眼图像校正算研究》 这是作者在这篇论文中提出的自己改进的算(我姑且叫它快速扫描吧) 我觉得这个算中有个地方写错了 可能是作者笔误吧 第二步:p(x,y)与p(x+1,y)的亮度之差如果大于T,则p是左边界的切点 我觉得这里不是这样 我按照这个算编程 实现出来 效果不对 我觉得第二步应该是p(x+1,y)大于T,则p(x,y)是左边界的切点。我实现出来效果才正确。因
matlab/python+opencv提取圆形鱼眼图片的有效区域
tom.deng的博客
11-28 9038
1、原图: 2、有效区域: 3、python+opencv代码: import cv2 #读取鱼眼图片 img = cv2.imread("fisheye.jpg") #转换为灰度图片 img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #提取原图大小 rows,cols = img.shape[:2] print rows,cols #
逐行逐列扫描提取鱼眼图像有效区域
wd1603926823的专栏
05-07 2814
这个算的原理是来源于南京邮电大学 张伟的《鱼眼图像校正算研究》这幅是此算得到的有效区域提取图这幅是原图 未扫描之前的 function B=everyline_everyrow_sweep(A,T) % A is a yuyan picture and the function is meant to correct the picture by  % the function
图像提取】基于matlab鱼眼图像有效区域提取【含Matlab源码 2186期】
订阅付费专栏(初级版),可赠送该付费专栏任意代码1份;
10-23 1557
鱼眼图像有效区域提取 完整代码,直接运行,适合小白!可提供运行操作视频!
鱼眼图像转换为任意视角针孔相机图像Python代码
最新发布
06-25
# 鱼眼图像转换为任意视角针孔相机图像Python代码 1. 通过鱼眼相机图像鱼眼相机的内参和畸变参数; 2. 配置仰角和偏角,将鱼眼图像转换到该视角下的针孔相机图像
基于matlab实现图像鱼眼有效区域提取附Matlab代码
10-23
1.版本:matlab2019a,不会运行可私信博主 2.领域:【图像提取】 3.内容:基于matlab实现图像鱼眼有效区域提取附Matlab代码 4.适合人群:本科,硕士等教研学习使用
图像提取】基于matlab实现图像鱼眼有效区域提取附Matlab代码 上传.zip
04-12
2.领域:智能优化算、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士...
鱼眼图像有效区域扫描提取鱼眼图像!逐行逐列扫描,包含测试图片和得到的结果图。
02-14
鱼眼图像有效区域扫描提取鱼眼图像!逐行逐列扫描,包含测试图片和得到的结果图。
论文研究-提取鱼眼图像轮廓算比较和改进 .pdf
08-16
提取鱼眼图像轮廓算比较和改进,柏露露,王虹,鱼眼图像就是用这种镜头拍出的图像鱼眼镜头因为自身的焦距短,大视角,镜头镜面凸起.针对传统的提取鱼眼图像轮廓的算对噪点��
Carsim、Prescan和Simulink联仿操作步骤.pdf
10-12
主要是利用Matlab/Simulink、Carsim、Prescan等仿真软件,其中用Matlab/Simulink做控制算的开发,用Carsim仿真软件提供汽车动力学模型、轮胎模型和制动器模型,利用Prescan软件建立测试场景与传感器模型,其中PreScan 软件MATLAB/Simulink 软件可以相互调用,具体来说就是 PreScan 中的各种传感器仿真数据传递到 Simulink 中
一种新型鱼眼图像轮廓提取
凌风探梅的专栏
09-19 3893
from: http://www.scimao.com/read/2307651      摘 要:提取鱼眼图像轮廓是利用鱼眼图像的前提。传统提取鱼眼图像轮廓的扫描线逼近对噪点抑制能力不强,精度差。本文提出了一种改进后的扫描线逼近算,通过图像二值化,和切点的多级判定,增强了抑制噪点的能力,提高了算的准确度。实验结果表明,算能够精确快速地计算出鱼眼图像轮廓参数。    关键词
python扫描线填充算_LeetCode算第1002.Find Common Characters(找出公共字符)
weixin_39722070的博客
12-19 240
技术提高是一个循序渐进的过程,所以我讲的leetcode算题从最简单的level开始写的,然后> 到中级难度,最后到hard难度全部完。目前我选择C语言,Python和Java作为实现语言,因为这三种语言还是比较典型的。由于篇幅和> 精力有限,其他语言的实现有兴趣的朋友请自己尝试。初级难度说的差不多的时候,我打算再加点其他内容,我可能会从操作系统到协议栈,从分布式> 聊到大数据...
Python+OpenGL DDA直线段的扫描转换算
kudoka的博客
11-04 652
Python+OpenGL DDA直线段的扫描转换算还是比较容易理解的,glVertex2f()没摸明白。 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * import math def draw(): x0=0 y0=0 x1=500 y1=200 a=y0-y1 b=x1-x0 d=2*a+b d1=2*a d2=2*(a
鱼眼矫正资料整理
c20081052的专栏
07-03 3411
最近需要了解鱼眼相机和鱼眼图像矫正的一些步骤,首先理清下概念和思路:鱼眼图像类别:圆形,全帧鱼眼图,鼓形鱼眼图;鱼眼相机构造,鱼眼相机本身的畸变:径向,偏心,切向;鱼眼相机投影模型:透视投影模型,立体投影模型,等距投影模型,正弦投影模型,等立体角投影模型;鱼眼图片的矫正过程:(以常见的等距投影模型为例,一般厂家常用这个投影模型)矫正目的在于求出鱼眼镜头图像和展开的(矩形)图像间像素的坐标映射关系;...
python鱼眼图像识别_一种融合鱼眼图像与深度图像的动态环境视觉里程计方与流程...
weixin_35674742的博客
02-04 389
本发明涉及移动机器人同步定位与地图构建(SLAM)技术领域,尤其是适用于动态环境的基于鱼眼图像与深度图像的视觉里程计方。背景技术:定位技术是移动机器人实现各项复杂任务的技术基础。里程计便是一类简单有效的定位方,目前主要的里程计方有轮式里程计和视觉里程计等。轮式里程计通过安装在车轮上的编码器,对各个车轮的行驶距离进行采集,根据轮式机器人运动学模型解算出机器人相对于初始位置的位姿。显然这种方只...
python鱼眼图像识别_一种基于鱼眼摄像头的人脸识别锁以及识别方与流程
weixin_39796238的博客
12-23 596
本发明涉及人脸识别领域,特别涉及一种基于鱼眼摄像头的人脸识别锁。背景技术:人脸识别具有用在门锁上存在一些不足。例如,门锁一般装在门上,其高度在安装时已经固定,针对不同身高的用户来说可能造成人脸图像捕捉困难、识别准确率低、识别速度不够快的问题,尤其是儿童放学单独回家时更需要方便快捷地刷脸入户,针对这种需求,提出一种识别范围大的人脸识别锁。专利人脸识别锁【CN201520587480.6】提出一种在摄...
python实现鱼眼图与六面图的转换
yi_777的博客
03-17 818
python实现鱼眼图与六面图的转换 https://github.com/sunset1995/py360convert
帮我用Python写一个鱼眼图像双经度校正算,要求要先获取鱼眼图像有效区域后再进行鱼眼图像的校正
05-11
好的,下面是一个鱼眼图像双经度校正算Python实现,主要使用OpenCV库实现: ```python import cv2 import numpy as np # 鱼眼图像双经度校正函数 def fish_eye_correction(img, K): # 获取图像宽高和中心点 h, w = img.shape[:2] cx, cy = w // 2, h // 2 # 生成图像网格 map_x, map_y = np.meshgrid(np.arange(w), np.arange(h)) # 将网格坐标转换为鱼眼图像坐标 x_map = (map_x - cx) / K[0] y_map = (map_y - cy) / K[1] r_map = np.sqrt(x_map ** 2 + y_map ** 2) # 计算鱼眼图像半径 theta = np.arctan2(r_map, 1) r_fisheye = K[2] * theta # 将鱼眼图像坐标转换为校正后的图像坐标 x = r_fisheye / r_map * x_map + cx y = r_fisheye / r_map * y_map + cy # 生成映射矩阵 map_x = cv2.convertScaleAbs(x) map_y = cv2.convertScaleAbs(y) map_x = cv2.normalize(map_x, None, 0, w, cv2.NORM_MINMAX) map_y = cv2.normalize(map_y, None, 0, h, cv2.NORM_MINMAX) map_x = np.asarray(map_x, dtype=np.float32) map_y = np.asarray(map_y, dtype=np.float32) # 进行图像校正 result = cv2.remap(img, map_x, map_y, cv2.INTER_LINEAR) return result # 读取鱼眼图像 img = cv2.imread('fish_eye_img.jpg') # 获取鱼眼图像有效区域 h, w = img.shape[:2] K = [w / 2, h / 2, min(h, w) / 2] # 校正鱼眼图像 result = fish_eye_correction(img, K) # 显示原图和校正后的图像 cv2.imshow('Original Image', img) cv2.imshow('Corrected Image', result) cv2.waitKey(0) ``` 其中,`fish_eye_correction`函数实现了双经度校正算,`img`为输入的鱼眼图像,`K`为鱼眼图像的内参,`result`为校正后的图像。在主程序中,首先读取鱼眼图像,然后通过`K`参数获取鱼眼图像有效区域,最后调用`fish_eye_correction`函数进行校正并显示结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 鱼眼图像的校正(Python实现) 7162
  • java 简要讲解 货物进销管理系统 6484
  • 鱼眼图像提取有效区域(Python实现) 改进的线扫描法 2743
  • MFC学习之简单的文本文件编辑器 2169
  • TCP程序设计之简单的文件传输程序设计 1227

分类专栏

  • 人工智能相关 19篇
  • 课程相关 16篇
  • 算法竞赛 26篇

最新评论

  • 鱼眼图像提取有效区域(Python实现) 改进的线扫描法

    fantastically111: 你好,鱼眼镜头畸变校正你弄出来了吗

  • 鱼眼图像的校正(Python实现)

    fantastically111: 你好,你做出来了吗,图像畸变校正

  • java 简要讲解 货物进销管理系统

    qq_52773981: shipping里数量没有合并

  • WinSock之主机名字与IP地址查询

    士别三日wyx: 学习使我快乐表情包

  • java 简要讲解 货物进销管理系统

    丁亚涛: 大佬

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Python实现简单卡尔曼滤波
  • 关于trackformer中的super().forward()
  • 《Unsupervised Part-based Weighting Aggregation of Deep Convolutional Features for Image Retrieval》笔记
2024年1篇
2023年1篇
2022年1篇
2021年4篇
2020年31篇
2019年24篇
2018年1篇
2017年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司哈密网站建设公司普洱SEO按效果付费多少钱洛阳网站推广工具公司普洱网站排名优化长治seo优化多少钱白山百度竞价包年推广哪家好诸城网站优化按天计费六安SEO按天收费哪家好深圳网站优化按天计费推荐镇江网站优化按天扣费价格张家界网站优化推广哪家好白山百度标王推荐抚州seo排名公司广东百姓网标王推广拉萨优化公司通化推广网站哪家好晋城百度竞价凉山百搜标王价格莱芜百度关键词包年推广绍兴营销网站推荐大浪网站优化按天计费安阳百度关键词包年推广价格黄冈关键词排名价格锦州网站搜索优化推荐汕尾品牌网站设计推荐金昌英文网站建设价格淮南网站优化按天收费哪家好崇左百度关键词包年推广福州英文网站建设价格凉山seo报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化