Advertisement
Guest User

GRA Übung 6

a guest
Nov 20th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include <opencv2\opencv.hpp>
  2.  
  3. using namespace cv;
  4.  
  5. int main() {
  6.     Mat originImage = imread("Z:\\Downloads\\binaer1.bmp", 0), invImage, mask(Size(7,7), CV_8U, Scalar(0)), maskInv(Size(23, 23), CV_8U, Scalar(255)), erodeImg, erodeInvImg, erodeResultImg, resultImg;
  7.     bitwise_not(originImage, invImage);
  8.     circle(mask, Point(3, 3), 3, Scalar(255), -1);
  9.     circle(maskInv, Point(11, 11), 11, Scalar(0), -1);
  10.     erode(originImage, erodeImg, mask);
  11.     erode(invImage, erodeInvImg, maskInv);
  12.  
  13.     bitwise_and(erodeImg, erodeInvImg, erodeResultImg);
  14.  
  15.     cvtColor(originImage, resultImg, COLOR_GRAY2BGR);
  16.  
  17.     for (int y = 0; y < originImage.rows; y++) {
  18.         for (int x = 0; x < originImage.cols; x++) {
  19.             if (erodeResultImg.at<uchar>(y, x) == 255) {
  20.                 floodFill(resultImg, Point (x,y), Scalar(0,0,255));
  21.                 floodFill(erodeResultImg, Point(x, y), Scalar(127));
  22.             }
  23.         }
  24.     }
  25.  
  26.     namedWindow("Originalbild", WINDOW_AUTOSIZE);
  27.     namedWindow("Hit-or-Miss", WINDOW_AUTOSIZE);
  28.     namedWindow("Hit-Result", WINDOW_AUTOSIZE);
  29.     namedWindow("Miss-Result", WINDOW_AUTOSIZE);
  30.     namedWindow("Ergebnis", WINDOW_AUTOSIZE);
  31.     imshow("Originalbild", originImage);
  32.     imshow("Hit-Result", erodeImg);
  33.     imshow("Miss-Result", erodeInvImg);
  34.     imshow("Hit-or-Miss", erodeResultImg);
  35.     imshow("Ergebnis", resultImg);
  36.  
  37.     waitKey(0);
  38.  
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement