关于坐标(行列)的问题
定义:行-----row/height,列------col/width;
- 新建图像:cv::Mat::zeros(row, col);
- 获取像素:image.atcv::Vec3f(row,col)[0];
- size的使用:cv::Size(col, row);
- rect的使用:cv::Rect( x, y, col, row);
- python版本的shape:hwc
resize的使用
- C++版本
cv::resize(src, dst, cv::Size(resize_width, resize_height), (0, 0), (0, 0), cv::INTER_LINEAR);
resize(a, dst, Size(2, 2), INTER_NEAREST);
resize(a, dst, Size(0, 0), 2.0, 2.0, INTER_NEAREST);
INTER_NEAREST - 最近邻插值
INTER_LINEAR - 线性插值(默认)
INTER_AREA - 区域插值
INTER_CUBIC - 三次样条插值
INTER_LANCZOS4 - Lanczos插值
2. python版本
img_test2 = cv2.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)
img_test2 = cv2.resize(img, (resize_width, resize_height), interpolation=cv2.INTER_NEAREST)
- 注意点
在使用scale和使用size的方式,即使他们resize的目标尺寸是一致的,但是两个方式进行resize的结果并不会一样。会有一些细微的差距。
标题记录一个google出的快速特征匹配算法
GMS-Feature-Matcher
http://openaccess.thecvf.com/content_cvpr_2017/papers/Bian_GMS_Grid-based_Motion_CVPR_2017_paper.pdf
https://github.com/JiawangBian/GMS-Feature-Matcher
图像合并
cv::Mat image_temp = pad_image(Rect(0, 0, image.cols, image.rows));
image.copyTo(image_temp);
常用函数
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image = image.transpose(2, 0, 1)
opencv python读取中文字符路径问题
import cv2
import numpy as np
def cv_imread(file_path):
cv_img = cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)
return cv_img
opencv 2.X版本和3.X版本出现读取图像旋转的问题
opencv的cvtColor问题
cv::cvtColor(image, image_gray, CV_RGB2GRAY, 0);
cv::cvtColor(image, image_gray, cv::COLOR_BGR2GRAY, 0);
两个版本的cvtColor结果不是一样的.