当前位置: 首页 > news >正文

网站关键词布局google谷歌搜索

网站关键词布局,google谷歌搜索,做实体识别的网站,wordpress制作自己的企业主题前言 仅记录学习过程,有问题欢迎讨论 边缘提取(涉及语义分割): 图象的边缘是指图象局部区域亮度变化显著的部分,也有正负之分,暗到亮为正 求边缘的幅度:sobel,Canny算子 图像分高频分量和低…

前言

仅记录学习过程,有问题欢迎讨论

边缘提取(涉及语义分割):

图象的边缘是指图象局部区域亮度变化显著的部分,也有正负之分,暗到亮为正

  • 求边缘的幅度:sobel,Canny算子

  • 图像分高频分量和低频分量,高频分量就是灰度变化剧烈的地方(显眼)

图像锐化:目的是使图像的边缘更加清晰,细节部分更加突出,常用拉普拉斯变化核函数。

边缘检测的步骤:边缘检测就是提取高频分量。在边缘像素值会出现”跳跃“或者较大的变化

  1. 滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数(为0,一阶极值),但导数通常对噪声很敏感,
    所以采用滤波减弱噪声。常见的滤波方法主要有高斯滤波。
  2. 增强:增强边缘的基础是确定图像各点邻域强度的变化值并凸显出显著变化点。
  3. 检测:经过增强的图像,往往邻域中有很多点的梯度值比较大,可以采用用阈值化方法来检测方法来对这些点进行取舍。

Canny边缘检测算法:

  1. 灰度化后高斯滤波:消除噪声
    高斯卷积核大小影响Canny检测的性能,越大,检测对噪声敏感越低,定位误差也会增大,5*5还行
  2. 检测图像的水平/垂直边缘:计算梯度—Sobel算子
    用类似于[-1,0,1][-2,0,2][-1,0,1]的矩阵来求梯度的幅值,幅值较大的像素点的为边缘
  3. 非极大值抑制:去除边缘检测带来的杂散响应
    • 搜素局部最大值,抑制非极大值,去除冗余的边缘。通俗就是找到像素局部最大值,其他值置为0,就可以剔除大部分非边缘点。
    • 沿着梯度方向比较像素点的值,保留最大像素点
  4. 双阈值检测和连接边缘:滞后阈值法
    • 大于高阈值为强边缘,小于低阈值不是边缘。介于中间是弱边缘。
    • 阈值的选择取决于给定输入图像的内容,和噪声点的区别就是是否连续:

相机模型(实际就是坐标系转化):

针孔相机模型存在四个坐标系:世界坐标系、摄像机坐标系、图像物理坐标系和图像像素坐标系。

  • 世界坐标系的坐标为Pw(Xw,Yw,Zw),
  • 对应的摄像机坐标系坐标为Po(x,y,z),–齐次方程做坐标系变化
  • 对应的图像物理坐标系的坐标为P’(x’,y’),–相似三角的原理等比例
  • 对应的图像像素坐标系的坐标为p(u,v)。–转化为长度为像素单位!
    在这里插入图片描述

在这里插入图片描述

镜头畸变

  • 畸变是由于透镜形状和制造工艺的误差造成的,分为径向畸变和切向畸变。
  • 径向畸变是由于透镜形状的曲线造成,分为枕形畸变和桶形畸变。
  • 切向畸变是由于透镜制造工艺的误差造成的,分为对称畸变和非对称畸变。
  • 可以通过透视变化(投影为新平面)来矫正畸变图片
    通过4个点(两组x,y)来确定关系,然后投影新平面图片

Canny算法和透视变化

"""
1-实现canny算法2-实现透视变换
"""
import cv2
import numpy as np# 实现Canny
def CannyDemo(img, low, high):# 灰度化gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 高斯滤波blur = cv2.GaussianBlur(gray, (5, 5), 0)# 采用sobel 算子求梯度[x,y方向求梯度,找出变化最大的像素点]grad_x = cv2.Sobel(blur, cv2.CV_16S, 1, 0, ksize=3)grad_y = cv2.Sobel(blur, cv2.CV_16S, 0, 1, ksize=3)# 转回uint8abs_grad_x = cv2.convertScaleAbs(grad_x)abs_grad_y = cv2.convertScaleAbs(grad_y)# 合并梯度dst = cv2.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0)# 非极大值抑制dst = cv2.Canny(dst, low, high)return dst# 实现透视变化
def getWarpPerspectiveMatrix(img, dst):nums = img.shape[0]x = np.zeros((2 * nums, 8))  # x*warpMatrix=yy = np.zeros((2 * nums, 1))for i in range(0, nums):x_i = src[i, :]y_i = dst[i, :]x[2 * i, :] = [x_i[0], x_i[1], 1, 0, 0, 0,-x_i[0] * y_i[0], -x_i[1] * y_i[0]]y[2 * i] = y_i[0]x[2 * i + 1, :] = [0, 0, 0, x_i[0], x_i[1], 1,-x_i[0] * y_i[1], -x_i[1] * y_i[1]]y[2 * i + 1] = y_i[1]x = np.mat(x)# 用x.I求出x的逆矩阵,然后与y相乘,求出warpMatrixmatrix = x.I * y  # 求出a_11, a_12, a_13, a_21, a_22, a_23, a_31, a_32# 之后为结果的后处理matrix = np.array(matrix).T[0]matrix = np.insert(matrix, matrix.shape[0], values=1.0, axis=0)  # 插入a_33 = 1matrix = matrix.reshape((3, 3))return matrixif __name__ == '__main__':img = cv2.imread('lenna.png')# canny边缘检测# canny = CannyDemo(img, 50,150)# cv2.imshow('canny', canny)# cv2.waitKey(0)# 实现透视变化img1 = cv2.imread('photo1.jpg')src = np.float32([[207, 151], [517, 285], [17, 601], [343, 731]])dst = np.float32([[0, 0], [337, 0], [0, 488], [337, 488]])print(img.shape)# 生成透视变换矩阵;进行透视变换result = getWarpPerspectiveMatrix(src, dst)print("warpMatrix:")print(result)img_perspective = cv2.warpPerspective(img1, result, (337, 488))cv2.imshow("img_perspective", img_perspective)cv2.waitKey(0)
http://www.15wanjia.com/news/15676.html

相关文章:

  • 网站建设 销售百度小程序
  • 泰安市景区建设网站怎么下载app到手机上
  • 做网站外包公司百度公司排名多少
  • 企业网站视频栏目建设方案关键词优化建议
  • 网站优化内链怎么做网站的网络推广
  • 专业网站建设制作价格网站提交
  • 外贸推广公司哪家好企业网站seo排名
  • 网站和网络建设自查报告优化网站推广排名
  • wordpress 插件 500seo技术培训唐山
  • wordpress绑定公众号灯塔seo
  • 安庆公司做网站百度官方官网
  • 网站建设的市场公司网站域名续费一年多少钱
  • 自适应网站的代表免费网站推广群发软件
  • 基于dw的动物网站设计论文企业培训有哪些方面
  • 佛山格尔做网站的公司怎么让客户主动找你
  • 做网站怎么买域名百度pc版网页
  • 行业网站建设多少钱谷歌浏览器网页版入口手机版
  • 室内设计可以去哪些公司搜索引擎优化seo网站
  • 网站管理系统有哪些深圳网站建设公司
  • 青岛 外语网站建设网站查询关键词排名软件
  • 网站建设服务器费用长沙网络推广网站制作
  • 做外贸有什么免费网站沈阳网站建设公司
  • 网站建设 网站设计网络营销的特征和功能
  • 一键生成100个原创视频seo快速优化软件网站
  • 服装网站策划书目前较好的crm系统
  • 邵阳棋牌软件开发海阳seo排名优化培训
  • 哈尔滨网络招聘做整站优化
  • 旅游网站建设经费预算免费建站
  • 玉林网站开发企业网站设计
  • 怎样做网商网站台州seo优化公司