#include <iostream>
int morph_elem = 0;
int morph_size = 0;
int morph_operator = 0;
int const max_operator = 4;
int const max_elem = 3;
int const max_kernel_size = 21;
const char* window_name = "形態學變換演示";
void Morphology_Operations( int, void* );
int main(
int argc,
char** argv )
{
src = imread( samples::findFile( parser.get<
String>(
"@input" ) ), IMREAD_COLOR );
{
std::cout << "無法開啟或找到影像!\n" << std::endl;
std::cout << "用法: " << argv[0] << " <輸入影像>" << std::endl;
return EXIT_FAILURE;
}
namedWindow( window_name, WINDOW_AUTOSIZE );
createTrackbar("操作:\n 0: 開運算 - 1: 閉運算 \n 2: 梯度 - 3: 頂帽 \n 4: 黑帽", window_name, &morph_operator, max_operator, Morphology_Operations );
createTrackbar( "元素:\n 0: 矩形 - 1: 十字形 - 2: 橢圓形 - 3: 菱形", window_name,
&morph_elem, max_elem,
Morphology_Operations );
createTrackbar( "核心大小:\n 2n +1", window_name,
&morph_size, max_kernel_size,
Morphology_Operations );
Morphology_Operations( 0, 0 );
waitKey(0);
return 0;
}
void Morphology_Operations( int, void* )
{
int operation = morph_operator + 2;
}
如果陣列沒有元素,則返回 true。
int64_t int64
cv::getTickFrequency
double getTickFrequency()
用於指定影像或矩形大小的模板類。
Definition types.hpp:335
std::string String
定義 cvstd.hpp:151
void imshow(const String &winname, InputArray mat)
在指定視窗中顯示影像。
void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
執行高階形態學變換。
Mat getStructuringElement(int shape, Size ksize, Point anchor=Point(-1,-1))
返回用於形態學操作的指定大小和形狀的結構元素。
int main(int argc, char *argv[])
定義 highgui_qt.cpp:3