OpenCV >> C/C++

dilate


參考資訊:
1. imshow
2. dilate
3. imread
4. namedwindow
5. tutorial_erosion_dilatation

prototype

Mat imread(
  const string& filename, 
  int flags=1);

void namedWindow(
  const string& winname, 
  int flags=WINDOW_AUTOSIZE);

void imshow(
  const string& winname, 
  InputArray mat);

void dilate(
  InputArray src,
  OutputArray dst,
  InputArray kernel,
  Point anchor = Point(-1,-1),
  int iterations = 1,
  int borderType = BORDER_CONSTANT,
  const Scalar & borderValue = morphologyDefaultBorderValue() 
)

main.cpp

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;
int main(int argc, char** argv)
{
  Mat original, out;
  original = imread("main.png", 1);
  if(!original.data){
    printf("failed to load image\n");
    return -1;
  }
  Mat element = getStructuringElement(MORPH_RECT, Size(6, 6));
  dilate(original, out, element);

  namedWindow("show original", WINDOW_AUTOSIZE);
  imshow("show original", original);

  namedWindow("show dilate", WINDOW_AUTOSIZE);
  imshow("show dilate", out);
  waitKey(0);
  return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(main)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})

編譯並且執行

$ cmake .
$ make
$ ./main

完成


返回上一頁