若北辰
循序渐进,日拱一卒,做时间的朋友!
展开
-
【OpenCV教程】OpenCV中有哪些必须要知道的知识点?
OpenCV 是一个开源的计算机视觉库,最初由 Intel 开发,后来开源给社区。它可以运行在多种平台上,包括 Windows、Linux 和 macOS,支持多种语言如 Python、C++、Java 等。它在计算机视觉任务中得到了广泛应用,包括图像识别、物体检测、视频分析等。OpenCV 是一个非常强大的计算机视觉库,尤其在 Python 环境中结合 NumPy、Matplotlib 等库,可以非常便捷地完成从图像预处理、特征提取到物体检测与识别的工作。原创 2024-11-27 23:45:00 · 73 阅读 · 0 评论 -
【OpenCV教程】图片隐写方法的种类及其python实现
图片隐写(Image Steganography)是指在图像中隐藏信息的技术,主要用于信息安全和隐私保护。最低有效位(LSB, Least Significant Bit)隐写法这是最常见的隐写方法之一。LSB隐写法通过修改图像像素的最低有效位来嵌入数据。这种方法简单且计算开销低,但隐蔽性较差,容易被检测到。频域隐写法这种方法将图像从空间域转换到频域,通过改变图像的频率成分来隐藏数据。常用的技术有离散傅里叶变换(DFT)、离散余弦变换(DCT)和离散小波变换(DWT)。原创 2024-08-27 09:24:31 · 377 阅读 · 0 评论 -
【OpenCV教程】img.mode有哪些常见的类型以及类型之间的转换
在PIL (Python Imaging Library) 或其继承版本Pillow中,`Image`对象的 `mode` 属性表示图像的像素格式(即每个像素的组成成分以及它们的存储方式)。原创 2024-08-26 11:22:10 · 484 阅读 · 0 评论 -
【OpenCV教程】将 NumPy 数组转换为图像对象的方法:PIL 中的Image.fromarray
(Pillow)库中的一个方法,用于将 NumPy 数组转换为图像对象。这个方法特别适用于将处理后的图像数据(通常以 NumPy 数组形式存储)重新转换为图像格式,以便进一步处理或保存。是 Python 中的。原创 2024-08-26 11:16:29 · 624 阅读 · 0 评论 -
Pandas实战100例 | 案例 98: 分组和聚合
在数据分析中,经常需要根据某些列的值进行分组,并对每个组进行聚合计算。Pandas 提供了用于分组和聚合的方法。原创 2024-01-19 08:50:45 · 133 阅读 · 0 评论 -
OpenCV-Day-023:实战 | 给图片加文字
# -*- coding: utf-8 -*-"""@ModuleName:pic_add_name@Function: @Author: H2017824@Time: 2020/6/8 19:53"""import pandas as pdimport cv2import ostable_order = 5src_path = 'std_{}.xlsx'.format(table_order)df_std_1 = pd.read_excel(src_path)name_list原创 2020-10-27 10:06:52 · 163 阅读 · 0 评论 -
OpenCV-Day-022:实战 | 之水印提取和去除水印
图片下载:代码import cv2import numpy as nppath = "1111.png"# 读取原始数据img = cv2.imread(path)cv2.imshow('img', img)print('img.shape:', img.shape)# height, width = img.shape[0:2]# 色彩阈值化处理,选择感兴趣的区域thresh = cv2.inRange(img, np.array([135, 187, 155]), np.ar原创 2020-08-19 09:55:43 · 1981 阅读 · 0 评论 -
OpenCV-Day-021:实战 | 识别图片中的二维码(python+opencv+pyzbar)
代码import pyzbar.pyzbar as pyzbarimport cv2 as cvsrc = cv.imread('./multi.jpg', cv.IMREAD_COLOR)cv.namedWindow('input', cv.WINDOW_NORMAL)cv.imshow('input', src)barcodes = pyzbar.decode(src)fo...原创 2019-06-08 10:03:34 · 1639 阅读 · 2 评论 -
OpenCV-Day-020:图像直方图反向投影
代码实验效果解释重点:RGB色彩空间对一些纯色的区分度不够,HSV, YCaCb这些色彩空间对它们的区分度会比较好!图像直方图反向投影是通过构建指定模板图像的二维直方图空间与目标的二维直方图空间,进行直方图数据归一化之后, 进行比率操作,对所有得到非零数值,生成查找表对原图像进行像素映射之后,再进行图像模糊输出的结果。直方图反向投影流程:计算直方图计算比率RLUT查找表...原创 2019-06-08 09:25:33 · 374 阅读 · 2 评论 -
OpenCV-Day-019:图像直方图比较
代码实验效果解释图像直方图比较,就是计算两幅图像的直方图数据,比较两组数据的相似性,从而得到两幅图像之间的相似程度,直方图比较在早期的CBIR中是应用很常见的技术手段,通常会结合边缘处理、词袋等技术一起使用。OpenCV中直方图比较的API很简单compareHist(hist1, hist2, method)-常见比较方法有相关性卡方交叉巴氏其中相关性计算和巴氏距离...原创 2019-06-08 09:11:53 · 309 阅读 · 3 评论 -
OpenCV-Day-018:图像直方图均衡化
代码import cv2 as cvimport matplotlib.pyplot as pltimport numpy as npdef custom_hist(gray): h, w = gray.shape hist = np.zeros([256], dtype=np.int32) for row in range(h): for co...原创 2019-06-07 08:07:04 · 287 阅读 · 0 评论 -
OpenCV-Day-017:图像直方图
代码import cv2 as cvimport matplotlib.pyplot as pltimport numpy as np# 自己编写程序实现灰度图像直方图的统计def custom_hist(gray): h, w = gray.shape hist = np.zeros([256], dtype=np.int32) for row in ran...原创 2019-06-06 21:43:30 · 255 阅读 · 0 评论 -
OpenCV-Day-016:图像ROI和ROI操作
代码import cv2 as cvimport numpy as npsrc = cv.imread("./apple.jpg", cv.IMREAD_COLOR)cv.namedWindow("input", cv.WINDOW_AUTOSIZE)cv.imshow("input", src)h, w = src.shape[:2]print(h, w)# 获取ROIcy ...原创 2019-06-05 09:49:14 · 701 阅读 · 0 评论 -
OpenCV-Day-015:几何形状绘制
代码import cv2 as cvimport numpy as npsrc = np.zeros((512, 512, 3), dtype=np.uint8)# 线宽为2cv.rectangle(src, (100, 100), (300, 300), (255, 0, 0), 2, cv.LINE_8, 0)cv.circle(src, (255, 255), 50, (0, ...原创 2019-06-04 23:36:24 · 332 阅读 · 0 评论 -
OpenCV-Day-014:图像插值
代码import cv2 as cvsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)h, w = src.shape[:2]print(h, w)dst = cv.resize(src, (w * 2, h * 2), fx=0, fy=0, interpolation=cv.INTER_NEAREST)cv.imshow('INTER_NEA...原创 2019-06-04 21:13:57 · 362 阅读 · 0 评论 -
OpenCV-Day-013:图像翻转
代码import cv2 as cvsrc = cv.imread('./test.png', cv.IMREAD_COLOR)cv.imshow('input', src)dst1 = cv.flip(src, 0)cv.imshow('X-flip', dst1)dst2 = cv.flip(src, 1)cv.imshow('Y-flip', dst2)dst3 = cv....原创 2019-06-04 19:00:23 · 255 阅读 · 0 评论 -
OpenCV-Day-012:视频文件的读写
代码import cv2 as cvimport numpy as npcapture = cv.VideoCapture(0)width = 640height = 480capture.set(cv.CAP_PROP_FRAME_HEIGHT, height)capture.set(cv.CAP_PROP_FRAME_WIDTH, width)out = cv.VideoWr...原创 2019-06-04 17:40:37 · 273 阅读 · 0 评论 -
OpenCV-Day-011:像素归一化
预备知识opencv中提供了四种归一化的方法:NORM_MINMAXNORM_INFNORM_L1NORM_L2最常用的就是NORM_MINMAX归一化方法L1 归一化(依据是:和为1)2.0+8.0+10.0=202.0 0.1 (2.0/20.0)8.0 0.4 (8.0/20.0)10.0 ...原创 2019-06-03 23:57:49 · 2356 阅读 · 0 评论 -
OpenCV-Day-010:图像像素值统计
代码import cv2 as cvimport numpy as npsrc = cv.imread('./bird.jpg', cv.IMREAD_GRAYSCALE)cv.imshow('input', src)# 最大最小值和相应的位置min, max, minLoc, maxLoc = cv.minMaxLoc(src)print('min:%.2f,max:%.2f,'...原创 2019-05-25 10:25:56 · 2928 阅读 · 0 评论 -
OpenCV-Day-009:不同色彩空间的转换
前言一、常见色彩空间RGB色彩空间HSV色彩空间HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,这个模型中颜色的参数分别是:色调(H, Hue),饱和度(S,Saturation),明度(V, Value)。2.利用openCV中cvSplit函数的在选择图像IPL_DEPTH_32F类型时,H取值范围是0-360,S取值范围是0-1(0%-100%),V取值范围...原创 2019-05-24 20:37:59 · 437 阅读 · 0 评论 -
OpenCV-Day-008:通道的合并与分离
代码实验结果解释原创 2019-05-23 10:50:09 · 236 阅读 · 0 评论 -
OpenCV-Day-007:图像像素的逻辑操作
代码import cv2 as cvimport numpy as npsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)cv.imshow('raw', src)print(src.shape)src2 = np.zeros(shape=(500, 500, 3), dtype=np.uint8)src2[100:200, 100:200, 1...原创 2019-05-23 09:51:52 · 410 阅读 · 0 评论 -
OpenCV-Day-006: Look Up Table(LUT)查找表
代码import cv2 as cvsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)cv.namedWindow('raw', cv.WINDOW_AUTOSIZE)cv.imshow('raw', src)dvt = cv.applyColorMap(src, cv.COLORMAP_HOT)cv.imshow('Hot', dvt)dvt2...原创 2019-05-22 11:45:43 · 712 阅读 · 0 评论 -
OpenCV-Day-005:图像像素的算术操作
代码import cv2 as cvimport numpy as npsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)cv.imshow('raw', src)src2 = cv.imread('./gray.jpg', cv.IMREAD_COLOR)cv.imshow('gray', src2)add_result = np.zeros...原创 2019-05-22 11:20:14 · 275 阅读 · 0 评论 -
OpenCV-Day-004:图像像素的读写操作
代码import cv2 as cvsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)cv.namedWindow('rawPicture', cv.WINDOW_AUTOSIZE)cv.imshow('rawPicture', src)h, w, ch = src.shapeprint('h,w,ch', h, w, ch)for row i...原创 2019-05-21 23:14:01 · 343 阅读 · 0 评论 -
OpenCV-Day-003:图像对象的创建与赋值
代码import cv2 as cvimport numpy as npsrc = cv.imread('./0.jpg', cv.IMREAD_COLOR)cv.namedWindow('rawPicture', cv.WINDOW_AUTOSIZE)cv.imshow('rawPicture', src)temp = np.copy(src)cv.imshow('temp',...原创 2019-05-21 22:56:04 · 448 阅读 · 0 评论 -
OpenCV-Day-002:图像色彩空间转换
代码import cv2 as cvsrc = cv.imread('0.jpg')cv.namedWindow('RGB', cv.WINDOW_AUTOSIZE)cv.imshow('RGB', src)Gray = cv.cvtColor(src, cv.COLOR_RGB2GRAY)cv.imshow('Gray', Gray)cv.imwrite('gray.jpg',...原创 2019-05-20 17:39:41 · 283 阅读 · 0 评论 -
OpenCV-Day-001:图像读取与显示
代码import cv2 as cvsrc = cv.imread('./0.jpg')cv.namedWindow('newWindow', cv.WINDOW_AUTOSIZE)cv.imshow('newWindow', src)cv.waitKey(1000)cv.destroyAllWindows()解释:一、cv.imread()是读取图片的函数,参数是图片所在的...原创 2019-05-20 11:39:42 · 405 阅读 · 0 评论 -
OpenCV-Day-000:系统化学习之路
从今天开始学习Opencv,因为工作需要,所以提前学习,加油!!!原创 2019-05-20 11:06:22 · 490 阅读 · 2 评论