![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数字图像处理与计算机视觉(python)
图像基础,图像增强,图像复原,图像滤波,形态学处理,图像压缩,图像分类,图像分割,目标检测,人脸识别,3D重建,双目视觉……
欢迎一起学习计算机视觉 QQ群:907820514
陨星落云
这个作者很懒,什么都没留下…
展开
-
DLL load failed while importing _imaging: 找不到指定的模块的解决方法
版权声明:本文为CSDN博主「masteryi-0018」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_45510888/article/details/121446878。python与pillow的版本关系。卸载当前版本,安装6.2.1版本。转载 2023-12-14 11:22:16 · 2746 阅读 · 0 评论 -
Opencv基础教程(python版)
Opencv-tutorial目前已经整理了11期内容,以Markdown形式上传至github。欢迎大家下载使用,感兴趣的小伙伴感谢star一下。Opencv-tutorial/1.图像处理基础知识.mdOpencv-tutorial/2.图像读取,显示,保存,属性,转换.mdOpencv-tutorial/3.OpenCV中的绘图函数.mdOpencv-tutorial/4.图像基础操作.mdOpencv-tutorial/5.图像上的算术运算.mdOpencv-tutorial/6.图原创 2021-11-21 10:12:37 · 4008 阅读 · 0 评论 -
python图像遍历优化的方法总结(以中值滤波为例)
python图像遍历优化的方法:使用numba加速:请参考这篇文章使用GPU加速:请参考这篇文章今天介绍一种新的优化方法使用numpy自带的滑动窗口进行优化注意:numpy版本必须不小于1.20.0。滑动窗口函数介绍:请参考这篇文章以中值滤波为例(优化前与优化后的对比)# -*- coding: utf-8 -*-"""Created on Fri Jun 11 06:24:33 2021@author: 陨星落云csdn博客地址: https://blog.csdn.net/原创 2021-06-11 06:37:22 · 1176 阅读 · 3 评论 -
Seeds超像素分割
#%% SEED超像素分割import cv2import numpy as npimport imageio# print(dir(cv2.ximgproc))img = imageio.imread(r'E:\Vaihingen\data\orginalimages\top_mosaic_09cm_area31.tif')[:,:,::-1]converted_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)# print(type(img_feat原创 2021-02-26 15:16:48 · 1827 阅读 · 11 评论 -
彩色rgb图像拆分为rgb三个通道,并重新合并为彩色图像
import numpy as npimport imageioimport matplotlib.pyplot as pltimg = imageio.imread(r'E:\Vaihingen\data\orginalimages\top_mosaic_09cm_area1.tif')# 将图像拆分为r,g,br,g,b = np.dsplit(img,3)plt.figure(figsize=(20,10),dpi= 80)plt.subplot(131)plt.imshow原创 2021-01-29 19:34:25 · 9096 阅读 · 0 评论 -
常用颜色的RGB值
https://www.cnblogs.com/general001/articles/4151861.html转载 2020-11-16 08:21:30 · 338 阅读 · 0 评论 -
图像对齐
在本文中,我们将学习如何使用OpenCV执行基于特征的图像对齐。我们将通过一个示例演示这些步骤,其中将使用手机拍摄的表格照片与表格模板对齐。我们将使用的技术通常称为“基于特征的”图像对齐,因为在此技术中,一幅图像中检测到一组稀疏特征,并与另一幅图像中的特征匹配。然后根据这些匹配的特征(将一张图像扭曲到另一张图像)计算出一个转换。什么是图像对齐或图像配准?在许多应用程序中,我们具有相同场景或相同文档的两个图像,但是它们没有对齐。换句话说,如果您在一幅图像上选择一个要素(例如一个角点),则另一幅图像中相同原创 2020-08-10 17:29:55 · 6996 阅读 · 2 评论 -
Jupyter常用快捷键总结
模式编辑模式: Enter键进入编辑模式命令行模式: ESC进入命令行模式命令行模式快捷键s:保存Shift+Enter: 执行代码并进入下一单元格Up Arrow+Down Arrow: 上移、下移b: 创建新单元0+0: 重启核dd:删除单元格m: 切换成markdowny: 切换成代码o: 隐藏或显示输出内容Shift+Arrow up/Arrow down: 单元格多选Shift+M: 合并单元格编辑模式Shift+Tab: [立即同时按下] 参数,类型等信息原创 2020-08-04 13:51:33 · 5418 阅读 · 0 评论 -
CUDA Python -- 编程基础以及图像处理(代码)
# -*- coding: utf-8 -*-import cv2import numpy as npfrom numba import cudaimport timeimport math#GPU function@cuda.jitdef process_gpu(img,channels): tx = cuda.blockIdx.x * cuda.blockDim.x + cuda.threadIdx.x ty = cuda.blockIdx.y * cuda.bloc原创 2020-06-17 14:33:52 · 2304 阅读 · 7 评论 -
pytorch保存与加载模型
保存与加载模型在这一部分内容中,我将向您展示如何使用PyTorch保存和加载模型。这很重要,因为您经常需要加载先前训练过的模型,用于进行预测或继续训练新数据。%matplotlib inline%config InlineBackend.figure_format = 'retina'import matplotlib.pyplot as pltimport torchfrom t...翻译 2020-04-17 20:55:21 · 825 阅读 · 0 评论 -
图像均值漂移
#%% 多尺度meanshit分割import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('building.jpg')# kernel = np.ones((3,3),np.uint8)# opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, ...原创 2020-04-15 15:44:22 · 1016 阅读 · 0 评论 -
scikit-image无法导入图像
在更新skimage0.16.2时,读取图片出错.In [1]: import skimageIn [2]: skimage.data.coffee()报错AttributeError Traceback (most recent call last)<ipython-input-2-b22b700236f1> in ...原创 2020-04-14 15:24:02 · 485 阅读 · 0 评论 -
pytorch使用dropout防止过拟合
推测与验证现在您已经学会了训练网络,可以将其用于进行预测。 这通常称为推测,是从统计信息中借用的术语。 但是,神经网络倾向于在训练数据上表现得太好,并且无法将其推广到以前从未见过的数据,这称为过拟合,它会削弱推理性能。 为了在训练过程中发现过拟合,我们不在训练集中测试,而在验证集测试性能。 我们在训练过程中监控验证效果时,通过正则化(例如dropout)来避免过拟合。我将向您展示如何在PyTor...翻译 2020-04-07 10:33:16 · 3285 阅读 · 3 评论 -
Fashion-MNIST 分类
Fashion-MNIST 分类构建和训练神经网络。 您将使用Fashion-MNIST数据集,它是MNIST数据集的替代品。 MNIST实际上对于神经网络来说是微不足道的,您可以轻松地获得优于97%的精度。 Fashion-MNIST是一组28x28灰度的衣服图像。 它比MNIST更复杂,因此可以更好地表示神经网络的实际性能,并且可以更好地表示您将在现实世界中使用的数据集。在这里,您将构建...翻译 2020-04-04 19:59:08 · 6953 阅读 · 2 评论 -
pytorch实现mnist手写数字识别(二)
训练神经网络在上一部分中,我们建立的神经网络不是那么好,它对我们的手写数字一无所知。 神经网络的非线性激活函数工作方式类似于通用函数拟合。 有一些函数,可以将您的输入映射到输出。 例如,将手写数字图像分类的概率。 神经网络的强大之处,在于我们可以训练它们以逼近该F函数。只要给定任何具有足够数据和计算时间,就可以得到F函数,但这个函数可能非常复杂。起初,网络是无知的,它不知道将输入映射到输出函...翻译 2020-03-31 15:59:39 · 1300 阅读 · 1 评论 -
pytorch实现mnist手写数字识别(一)
深度学习的神经网络往往是庞大的,有几十层或几百层,这就是“深度”一词的由来。你可以只用权重矩阵来构建一个这样的深层网络,但是一般来说,这是非常麻烦和难以实现的。PyTorch有一个很好的模块nn,它提供了一种有效构建大型神经网络的好方法。# Import necessary packages%matplotlib inline%config InlineBackend.figure_fo...翻译 2020-03-30 18:46:09 · 12095 阅读 · 4 评论 -
Hog+SVM行人检测
# -*- coding: utf-8 -*-"""Created on Sun Mar 22 16:17:14 2020@author: 陨星落云"""import cv2img = cv2.imread("people-brasil-guys-avpaulista-109919.jpg")cv2.namedWindow('input',cv2.WINDOW_...原创 2020-03-22 19:14:59 · 366 阅读 · 0 评论 -
Harris角点检测
# -*- coding: utf-8 -*-"""Created on Sat Mar 21 12:01:05 2020@author: 陨星落云"""import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('bright-close-up-colorful-2097221.jp...原创 2020-03-21 12:34:02 · 222 阅读 · 0 评论 -
霍夫变换之直线检测
霍夫变换查看图像import matplotlib.pyplot as pltimport numpy as npimport cv2# 读取图像img = cv2.imread('bright-close-up-colorful-2097221.jpg')# 复制图像img_copy = np.copy(img)# 颜色空间转换:BGR——RGBimg_rg...原创 2020-03-19 20:29:24 · 391 阅读 · 0 评论 -
harris,sift,surf,orb特征点检测算法
特征点检测算法Harris角点检测cv2.cornerHarris(gray,blockSize=4,ksize=5,k=0.04)import cv2import matplotlib.pyplot as pltimport numpy as npdef cv_show(name,image): """图像显示函数 name:字符串,窗口名称 ...原创 2020-03-19 20:44:42 · 804 阅读 · 0 评论 -
LBP特征提取
from skimage.feature import local_binary_patternimport matplotlib.pyplot as pltimport cv2import numpy as np# settings for LBPradius = 1 # LBP算法中范围半径的取值n_points = 8 * radius # 领域像素点数# 读取图像im...转载 2020-03-17 17:15:09 · 408 阅读 · 0 评论 -
opencv之伪色彩
opencv之伪色彩在OpenCV库中,常见的伪色彩模式可以通过 applyColorMap(src,dst,colormap)直接调用。applyColorMap(src,dst,colormap)参数:src: 源图像(灰度图或彩色图(CV_8UC1 or CV_8UC3))。dst: 在源图像上进行色彩映射后的结果图像。colormap:提供的色彩图代码值。例子:impo...原创 2020-03-02 14:13:00 · 881 阅读 · 0 评论 -
win10下在Anaconda中安装opencv 4.0.1详细教程
在Anaconda中安装opencv 4.0.1详细教程首先,在进入cmd中查看一下安装opencv 4.0.1需要python的版本在cmd中输入下面代码(如果报错,请先配置环境变量):conda search opencv注意:提示需要安装python3.8版本其次,在Anaconda中创建虚拟环境,其中ImageProcessing是我取的虚拟环境名字,你可一改成其他的。co...原创 2020-03-02 10:52:38 · 2026 阅读 · 0 评论 -
python遍历灰度图像像素方法总结
import numpy as npimport matplotlib.pyplot as pltimport cv2import timeimg = cv2.imread('lena.jpg',0)# 以遍历每个像素取反为例# 方法1t1 = time.time()img1 = np.copy(img)rows,cols = img1.shape[:2]for row ...原创 2020-03-01 11:19:35 · 6657 阅读 · 0 评论 -
opencv之Sobel
import cv2# 载入原始图片img = cv2.imread("lena.jpg",1)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 计算图像x方向梯度sobel_x = cv2.Sobel(gray, cv2.CV_64F, 1, 0,ksize=3)# 计算图像y方向梯度sobel_y = cv2.Sobel(gray, ...原创 2020-02-29 19:11:00 · 527 阅读 · 0 评论 -
Lucas-Kanade稀疏光流法
光流法光流由于目标对象或者摄像机的移动造成的图像对象在连续两帧图像中的移动被称为光流。如下图所示,它是一个 2D 向量场,可以用来显示一个点从第一帧图像到第二帧图像之间的移动,箭头表示光流场向量。其中,光流包括稀疏光流与稠密光流。图像中的每个像素都使用这种方法,则通常将其称为“稠密光流”。有一种替代类算法被称为“稀疏光流”,仅仅跟踪图像中某些点的子集。Lucas-Kanade稀疏光流法...原创 2020-02-27 12:49:42 · 4301 阅读 · 0 评论 -
关于python中利用for循环遍历图像,运行速度过慢解决方法
用python写的for循环对图片遍历像素处。如果图像像素质量很高,运行速度很慢。想到既然是像素操作能不能用gpu来分担cpu的工作以加速运行。利用numba模块进行加速。import cv2import numpy as npimport matplotlib.pyplot as pltfrom numba import jitimport time img = cv2.imr...原创 2020-02-24 14:10:38 · 7322 阅读 · 3 评论 -
基于OTSU与三角阈值的方法分割彩色图像(opencv-python)
import cv2import matplotlib.pyplot as pltimg = cv2.imread("macro-photography-of-strawberry-934066.jpg")gray_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# otsu阈值(t,thresh) = cv2.threshold(gray_img...原创 2020-02-23 18:20:48 · 2189 阅读 · 3 评论 -
轮廓特征之矩、面积、周长
轮廓特征查找轮廓的不同特征,例如矩、面积、周等。图像矩原始矩对于二维连续函数f(x,p+q)f(x,p+q)f(x,p+q)阶的矩被定义为Mpq=∫−∞∞∫−∞∞xpyqf(x,y)dxdyM _ { p q } = \int _ { - \infty } ^ { \infty } \int _ { - \infty } ^ { \infty } x ^ { p } y ^ { q...原创 2020-02-23 15:30:52 · 634 阅读 · 0 评论 -
利用随机游走算法进行图像分割
利用随机游走算法进行图像分割from skimage import io,img_as_ubyte,img_as_floatfrom skimage.color import rgb2grayimport matplotlib.pyplot as pltimport numpy as np# 读取图像img = img_as_float(io.imread("mac...原创 2020-02-20 21:26:01 · 1393 阅读 · 0 评论 -
图像轮廓
图像轮廓什么是轮廓轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。怎样查找轮廓cv2.findContours(image, mode, method[, offset])#寻找一个二值图像的轮廓。注意黑色表示背景,白色表示物体,即在黑色背景里寻找白色物体的轮廓参数:image:8位单通道...原创 2020-02-21 20:47:16 · 360 阅读 · 0 评论 -
图像金字塔融合
图像金字塔一般情况下,我们要处理是一副具有固定分辨率的图像。但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理。比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小。这种情况下,我们需要创建创建一组图像,这些图像是具有不同分辨率的原始图像。我们把这组图像叫做图像金字塔(简单来说就是同一图像的不同分辨率的子图集合)如果我们把最大的图像放在底部,...原创 2020-02-20 16:05:10 · 1144 阅读 · 1 评论 -
基于手动阈值方法分割彩色图像
图像阈值分割1.查看图像直方图2.选择合适的阈值3.利用形态学操作,填补局部空洞4.掩膜,得到图像结果查看图像直方图,确定阈值from skimage import io,img_as_ubyteimport numpy as npimport matplotlib.pyplot as pltimg = img_as_ubyte(io.imread('macro...原创 2020-02-17 12:25:54 · 3659 阅读 · 1 评论 -
图像灰度变换(python)
import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread("lena.jpg",0)# 图像反转# 方法1img1 = (255-img).astype(np.uint8)# 方法2img2 = img.copy()H,W = img2.shapeprint(W,H)for i...原创 2020-02-12 21:28:10 · 914 阅读 · 0 评论 -
scipy之图像处理
import matplotlib.pyplot as pltfrom skimage import io,img_as_ubytefrom scipy import ndimageimport numpy as np import cv2 img = io.imread("lena.jpg",as_gray=True)img1 = cv2.imread("lena.jpg")...原创 2020-02-11 23:07:17 · 435 阅读 · 0 评论 -
基于曝光融合框架的对比度增强算法
基于曝光融合框架的对比度增强算法算法原理:https://www.cnblogs.com/zhongzhaoxie/p/11857738.html算法实现:转载 2020-02-10 17:00:09 · 653 阅读 · 0 评论 -
在OpenCV + Python中使用色彩空间进行图像分割
在OpenCV + Python中使用色彩空间进行图像分割什么是色彩空间?在最常见的颜色空间RGB(红色绿色蓝色)中,颜色以红色,绿色和蓝色分量表示。用更专业的术语来说,RGB将颜色描述为三个组成部分的元组。每个分量可以取0到255之间的值,其中元组(0, 0, 0)代表黑色,(255, 255, 255)代表白色。RGB被认为是三原色“加法”颜色空间,可以想象颜色是由大量红色,蓝色和绿色的...翻译 2020-02-03 14:17:50 · 5989 阅读 · 0 评论 -
PIL模块图像处理
PIL模块图像处理1.读取显示保存裁剪图像"""Created on Sat Feb 1 14:54:28 2020@author: 陨星落云"""#%% 读取显示保存裁剪from PIL import Imageimg = Image.open("lena.jpg")# 图像格式print(img.format)# 图像颜色空间print(img.mode)# 图...原创 2020-02-01 16:27:44 · 356 阅读 · 0 评论 -
python图像读取方法总结与自动化处理
PIL 图像读取# -*- coding: utf-8 -*-"""Created on Thu Jan 30 13:13:08 2020@author: 67231"""#%% PIL 图像读取from PIL import Imageimport numpy as np# 读取图像img = Image.open('lena.jpg')# 查看图像类型print(t...原创 2020-01-30 15:39:24 · 2181 阅读 · 0 评论 -
使用级联分类器进行人脸检测
人脸检测乍一看这很复杂,但是非常容易。让我向你介绍整个过程,您会感到容易的。步骤1:考虑到先决条件,我们首先需要一个图像。稍后,我们需要创建一个级联分类器,该分类器最终将为我们提供面部特征。步骤2: 此步骤涉及使用OpenCV,它将读取图像文件。因此,在这一点上,需要了解NumPy数组。我们需要做的就是搜索面部NumPy ndarray的行和列值。这是具有矩形坐标的数组。步骤3:最后一步...原创 2020-01-29 21:17:10 · 2261 阅读 · 0 评论