ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

OpenCV的robert算子程序

2021-12-03 19:30:22  阅读:175  来源: 互联网

标签:img 300 robert CV Roberts OpenCV 算子 np cv


import numpy as np
import cv2 as cv

img=np.zeros((300,300,3),np.uint8)
#cv.imshow('a',img) #展示图片
#cv.waitKey(0) #无限等待
for i in range(300): #遍历每一个像素 使其图片中间生成白线宽
    for j in range(300):
        if i>=130 and i<=170:
            img[i,j]=255
        else:
            img[i, j] = 0
cv.imshow('a',img) #展示图片
cv.waitKey(0) #无限等待
cv.imwrite('C:/Users/SongJinQiu/Desktop/zuoye/src.jpg', img)
#Robert算子边缘检测
kernelx = np.array([[-1,0],[0,1]], dtype=int) #生成  [[-1  0  [ 0  1]]  的矩阵
kernely = np.array([[0,-1],[1,0]], dtype=int) #生成  [[ 0 -1  [ 1  0]] 的矩阵
x = cv.filter2D(img, cv.CV_16S, kernelx) # x方向对图像做卷积
y = cv.filter2D(img, cv.CV_16S, kernely)# x方向对图像做卷积
absX = cv.convertScaleAbs(x)  #其中convertScaleAbs函数功能是将CV_16S型的输出图像转变成CV_8U型的图像。
absY = cv.convertScaleAbs(y)
Roberts = cv.addWeighted(absX,0.5,absY,0.5,0) #用来将两个图片进行融合。
cv.imshow("Robert",Roberts)
cv.waitKey(0)
cv.imwrite('C:/Users/SongJinQiu/Desktop/zuoye/Roberts.jpg', Roberts)

标签:img,300,robert,CV,Roberts,OpenCV,算子,np,cv
来源: https://blog.csdn.net/xiaoqiuqiuyaha/article/details/121705489

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有