rect1 = Rect(x, y, width, height);
------->x
|
|
y
mask = Mat::zeros(Size(), CV_8UC1);
rectangle(make, rect1, Scalar(255), thickness=-1);
//-1全区域填满
circle(mask, center, radius, Scalar(255), -1)
bitwise_and(image, mask, out);
bitwise_or
// Python
out = bitwise_and(image,mask)
void HoughLines( image, lines, double rho, double theta, int threshold,
double srn=0, double stn=0 )
# 参数:
# image: 边缘检测的输出图像. 它应该是个灰度图 (但事实上是个二值化图)
# lines: 储存着检测到的直线的参数对(r, θ)的容器
# rho: 参数极径r以像素值为单位的分辨率. 1 像素.
# theta: 参数极角θ以弧度为单位的分辨率. 1度 (即CV_PI/180)
# threshold: 要"检测"一条直线所需最少的的曲线交点
# srn and stn: 参数默认为0.
void HoughLinesP( image, lines, double rho, double theta, int threshold,
double minLineLength=0, double maxLineGap=0 )
# 参数:
# image: 边缘检测的输出图像. 它应该是个灰度图 (但事实上是个二值化图)
# lines: 储存着检测到的直线的参数对(Xstart, Ystart, Xend, Yend)的容器,端点坐标
# rho: 参数极径r以像素值为单位的分辨率. 1 像素.
# theta: 参数极角θ以弧度为单位的分辨率. 1度 (即CV_PI/180)
# threshold: 要"检测"一条直线所需最少的的曲线交点
# minLinLength: 能组成一条直线的最少点的数量. 点数量不足的直线将被抛弃.线段的最小长度
# maxLineGap: 线段上最近两点之间的阈值. 也就是能被认为在一条直线上的亮点的最大距离.
Canny(src, dst, 50, 200, 3);
#if 0
vector<Vec2f> lines; // (r, θ)
HoughLines(dst, lines, 1, CV_PI/180, 100, 0, 0 );
for( size_t i = 0; i < lines.size(); i++ )
{
float rho = lines[i][0], theta = lines[i][1];
Point pt1, pt2;
double a = cos(theta), b = sin(theta);
double x0 = a*rho, y0 = b*rho;
pt1.x = cvRound(x0 + 1000*(-b));
pt1.y = cvRound(y0 + 1000*(a));
pt2.x = cvRound(x0 - 1000*(-b));
pt2.y = cvRound(y0 - 1000*(a));
line( src, pt1, pt2, Scalar(0,0,255), 3, CV_AA);
}
#else
vector<Vec4i> lines; // (X1, Y1, X2, Y2) 端点坐标
HoughLinesP(dst, lines, 1, CV_PI/180, 50, 50, 10 );
for( size_t i = 0; i < lines.size(); i++ )
{
Vec4i l = lines[i];//Vec4i 就是Vec<int, 4>,里面存放4个int
line( src, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
// 起点:Point(l[0], l[1]),终点:Point(l[2], l[3])
}
#endif
dst = cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])
dsize不为0时,dst的大小为dsize;否则根据src的大小、参数fx和fy决定。
dst的类型(type)和src图像相同。
dsize = 0
dsize = Size(round(fx*src.cols), round(fy*src.rows))
参数dsize和参数(fx, fy)不能够同时为0.
fx -- x轴上的比例因子。当它为0时,fx = (double)dsize.width/src.cols
fy -- y轴上的比例因子。当它为0时,fy = (double)dsize.height/src.rows
interpolation -- 插值方法
--INTER_NEAREST - 最近邻插值法
--INTER_LINEAR - 双线性插值法(default)
--INTER_AREA - 基于局部像素的重采样(resampling using pixel area relation)。缩小图像时避免波纹出现。放大图像时和最近邻法的效果类似。
--INTER_CUBIC - 基于4x4像素邻域的3次方插值法(立方插值)
--INTER_LANCZOS4 - 基于8x8像素邻域的Lanczos插值