数字图像处理
algzjh
这个作者很懒,什么都没留下…
展开
-
opencv学习笔记一
import numpyimg=numpy.zeros((3,3),dtype=numpy.uint8)print(img)打印结果为:[[0 0 0] [0 0 0] [0 0 0]]import numpy,cv2img=numpy.zeros((3,3),dtype=numpy.uint8)img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)print原创 2017-09-27 02:15:27 · 268 阅读 · 0 评论 -
数字图像的空间域滤波和频率域滤波
傅里叶变换import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('woman.tif',0)f = np.fft.fft2(img) # 快速傅里叶变换算法得到频率分布fshift = np.fft.fftshift(f) # 默认结果中心点位置是在左上角,转移到中间位置#取绝对值:将复数变原创 2017-11-30 21:18:53 · 5901 阅读 · 0 评论 -
数字图像基本操作及灰度调整
help===== Global Commands =====\help (\?,\h) Print this help.\sql Switch to SQL processing mode.\js Switch to JavaScript processing mode.\py原创 2017-11-30 21:14:22 · 1512 阅读 · 0 评论 -
Image Gradients
NoteWhen the size of the kernel is 3, the Sobel kernel shown above may produce noticeable inaccuracies (after all, Sobel is only an approximation of the derivative). OpenCV addresses this inaccuracy fo原创 2017-10-22 10:43:37 · 479 阅读 · 0 评论 -
Color conversions
RGB ↔ GRAYRGB[A] to Gray:Y←0.299⋅R+0.587⋅G+0.114⋅BGray to RGB[A]:R←Y,G←Y,B←Y,A←max(ChannelRange)cvtColor(src, bwsrc, cv::COLOR_RGB2GRAY);原创 2017-10-22 10:28:03 · 573 阅读 · 0 评论 -
opencv学习笔记(五)
Measuring Performance with OpenCVimport cv2import numpy as npimg1 = cv2.imread('messi5.jpg')e1 = cv2.getTickCount()for i in range(5,49,2): img1 = cv2.medianBlur(img1,i)e2 = cv2.getTickCount()t转载 2017-10-02 21:53:35 · 329 阅读 · 0 评论 -
opencv学习笔记(四)
Arithmetic Operation on Imagesimport cv2import numpy as npx = np.uint8([250])y = np.uint8([10])print(cv2.add(x,y)) # saturated operationprint(x+y) # modulo operationImage Blendingimport cv2import n转载 2017-10-02 21:44:44 · 363 阅读 · 0 评论 -
opencv学习笔记三
Making Borders for Images (Paddinig)import numpy as npimport cv2import matplotlib.pyplot as pltBLUE = [255,0,0]img1 = cv2.imread('lena_std.tif')replicate = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BOR转载 2017-09-30 16:39:37 · 343 阅读 · 0 评论 -
opencv学习笔记二
Display and Write an imageimport numpy as npimport cv2from matplotlib import pyplot as pltimg = cv2.imread('img.tif', 0)cv2.imshow('image', img)k = cv2.waitKey(0) & 0xFFif k == 27: cv2.destroy转载 2017-09-30 15:58:51 · 272 阅读 · 0 评论 -
Image scaling
缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确转载 2017-09-19 16:46:12 · 1543 阅读 · 0 评论 -
图像分割与边缘检测
OTSU#include <stdio.h>#include <string>#include "opencv2/highgui/highgui.hpp"#include "opencv2/opencv.hpp"using namespace std;using namespace cv;// OTSU函数实现int OTSU(cv::Mat srcImage){ int nC原创 2017-11-30 21:21:22 · 2422 阅读 · 0 评论