首页 > 其他分享 >opencv学习笔记(二)

opencv学习笔记(二)

时间:2023-06-18 20:45:08浏览次数:43  
标签:10 阈值 img imshow cv2 笔记 学习 opencv BORDER

数值计算:

img = cv2.imread('img') + 10

即在原图像的矩阵上,对每一个像素进行+10操作,若出现 img = cv2.imread(img1 + img2),则此时相加结果超出了256的数值,再-256,相当于%256

在cv2.add(img1,img2)中,若相加的结果>255.则存储为255。

图像融合:

import cv2
import matplotlib.pyplot as plt

img_handsome = cv2.imread('C:/Users/hellou/Desktop/beauty.jpg')
img_girl = cv2.imread('C:/Users/hellou/Desktop/beautiful.jpg')

print(img_girl.shape)
print(img_handsome.shape)

img_girl = cv2.resize(img_girl,(959,629))
#resize时,后面括号内的数值要倒过来
print(img_girl.shape)

res = cv2.addWeighted(img_girl,0.4,img_handsome,0.6,0)
#0.4和0.6分别表示图片比重,0代表偏置项n
cv2.imshow('res_image',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

在resize函数中:
res = cv2.resize(img,(0,0),fx=3,fy=1) 其中fx与fy后面的数值分别表示扩大/缩小至原来的多少倍数

边界填充:
 1 #边界填充
 2 import cv2
 3 
 4 top_size,bottom_size,left_size,right_size = (50,50,50,50)
 5 #分别表示顶部、底部、左边、右边四个方向上的边界拓宽值
 6 
 7 img = cv2.imread('C:/Users/hellou/Desktop/forest.jpg')
 8 replicate = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REPLICATE)
 9 reflect = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REFLECT)
10 reflect101 = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REFLECT_101)
11 warp = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_WRAP)
12 constant = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_CONSTANT)
13 #cv.BORDER_CONSTANT 添加一个恒定的彩色边框。该值应作为下一个参数value给出。\
14 #cv.BORDER_REFLECT 边框将是边框元素的镜像反射,如下所示:fedcba|abcdefgh|hgfedcb
15 #cv.BORDER_REFLECT_101或者cv.BORDER_DEFAULT 与上面相同,但略有改动,如下所示: gfedcb | abcdefgh | gfedcba
16 #cv.BORDER_REPLICATE最后一个元素被复制,如下所示: aaaaaa | abcdefgh | hhhhhhh
17 #cv.BORDER_WRAP 不好解释,它看起来像这样: cdefgh | abcdefgh | abcdefg
18 
19 cv2.imshow('img',img)
20 cv2.imshow('replicate',replicate)
21 cv2.imshow('reflect',reflect)
22 cv2.imshow('reflect101',reflect101)
23 cv2.imshow('warp',warp)
24 cv2.imshow('constant',constant)
25 
26 cv2.waitKey(0)
图像阈值:
ret, dst = cv2.threshold(src, thresh, maxval, type)
  src :输入图,只能输入单通道图像,通常来说为灰度图. dst :输出图
  thresh :阈值
  maxval :当像素值超过了阈值(或者小于阈值,根据 type 来决定),所赋予的值
  type :二值化操作的类型
cv2.THRESH_BINARY cv2.THRESH_BINARY_INV cv2.THRESH_TRUNC cv2. THRESH_TOZERO cv2.THRESH_TOZERO
超过阈值部分取maxval(最大值),否则取0 cv2.THRESH_BINARY的反转 大于阈值部分设置为阈值,否则不变 大于阈值部分不改变,否则为0 cv2.THRESG_TOZERO的反转

 

 

标签:10,阈值,img,imshow,cv2,笔记,学习,opencv,BORDER
From: https://www.cnblogs.com/hellou/p/17489718.html

相关文章

  • NumPy学习11
    今天学习了NumPy线性代数21,NumPy线性代数numpy_test11.py:importnumpyasnp'''21,NumPy线性代数NumPy提供了numpy.linalg模块,该模块中包含了一些常用的线性代数计算方法,下面对常用函数做简单介绍:NumPy线性代数函数函数名称 描述说明dot 两个数组......
  • CMake官网教程学习
    简介本文档是根据CMake的官方教程学习的笔记,同时将教程中C++实现的代码更改为C语言实现。当前还未学习完。教程官网:CMakeTutorial—CMake3.27.0-rc1Documentation中文教程:教程—CMake3.26.4Documentation(cmake-doc.readthedocs.io)官方教程源码下载:https://cmake.o......
  • 强化学习中的随机化处理
    目录1.引言2.技术原理及概念3.实现步骤与流程4.应用示例与代码实现讲解4.1应用场景介绍4.2应用实例分析强化学习是人工智能领域的一个热门话题,它通过让机器代理通过与环境的互动来学习最优策略,以实现自主决策。在强化学习中,随机化处理是一个非常重要的概念,它可以帮助代理在......
  • 强化学习中的随机化处理与模拟实验
    目录1.引言2.技术原理及概念3.实现步骤与流程4.应用示例与代码实现讲解5.优化与改进强化学习是人工智能领域中的一个重要分支,它通过试错的方式训练模型,使其在不确定的环境下做出最优的决策。在强化学习中,随机化处理与模拟实验是非常重要的步骤,因为不确定的环境可能导致错误......
  • 机器翻译技术的发展趋势:从API到深度学习
    目录机器翻译技术的发展趋势:从API到深度学习随着全球化的发展,机器翻译技术在各个领域得到了广泛的应用。机器翻译技术的核心是将源语言文本翻译成目标语言文本,其中涉及到语言模型、文本生成模型和翻译模型等多个方面。在过去的几年中,随着深度学习技术的不断发展,机器翻译技术也经......
  • 机器学习算法的实现与优化
    目录1.引言2.技术原理及概念3.实现步骤与流程4.应用示例与代码实现讲解5.优化与改进6.结论与展望7.附录:常见问题与解答人工智能专家,程序员,软件架构师,CTO,以下是《48.机器学习算法的实现与优化》技术博客文章的文章结构:1.引言1.1.背景介绍机器学习技术的发展历程机......
  • 强化学习在情感分析中的应用
    目录强化学习在情感分析中的应用随着人工智能技术的发展,情感分析已成为计算机视觉领域的一个重要研究方向。情感分析是一种从图像或视频中识别人类情感或情感状态的方法,可以用于许多应用场景,如自然语言处理、智能推荐、医疗保健等。在情感分析中,强化学习算法被广泛应用,这是因为......
  • 机器学习中的神经网络:如何创建强大的模型并解决复杂的问题
    目录文章标题:《17."机器学习中的神经网络:如何创建强大的模型并解决复杂的问题"》文章背景介绍:随着人工智能技术的快速发展,神经网络已经成为机器学习领域中最受欢迎的模型之一。神经网络是一种基于深度学习的技术,能够通过多层神经元来学习和提取特征,从而实现复杂的分类、回归和......
  • 让机器更加人性化:深度学习技术在人工智能助手领域的应用
    目录随着人工智能技术的快速发展,人工智能助手领域逐渐成为人们日常生活的一部分。然而,对于如何设计和构建更加人性化、更加智能的人工智能助手,仍然存在着许多挑战。本文将介绍深度学习技术在人工智能助手领域的应用,通过具体实践案例,讲解如何使用深度学习技术来构建更加智能、更加......
  • 机器学习在金融领域的应用
    目录引言随着人工智能技术的不断发展,越来越多的领域开始应用机器学习技术。在金融领域,机器学习也得到了广泛的应用,特别是在风险管理、投资决策、客户服务等方面。本文将介绍机器学习在金融领域的应用,主要分为技术原理及概念、实现步骤与流程、应用示例与代码实现讲解、优化与改......