title: sharpen image to detect edges/lines in a stamped "X" object on paper
body: <p>I'm using python &amp; opencv. My goal is to detect "X" shaped pieces in an image taken with a raspberry pi camera. The project is that we have pre-printed tic-tac-toe boards, and must image the board every time a new piece is laid onto the board (with ink stamps). Then the output says what type of piece, if any, is in what section of the tic-tac-toe board. </p>
  
  <p>Here, I have the lines I have detected in the image in green:</p>
  
  <p><img src="https://i.imgur.com/9WJTNaZ.jpg" alt=""></p>
  
  <p>As you can see, the "X" shaped pieces seems to not be easily detected. Only one line on some of the stamps gets "seen."</p>
  
  <p>Here's what the edge detection looks like after the filters:</p>
  
  <p><img src="https://i.imgur.com/5VpQ56i.jpg" alt=""></p>
  
  <p>My method for detecting the "X" shaped piece is to check in each section for any lines with a non-horizontal/vertical slope. My problem is that the "X" shaped stamps are not perfect lines; thus, my code hardly picks up on the lines.</p>
  
  <p>I have tried applying an unsharp filter, using histogram equalization, and just using grayscale into edge detection. None of these have detected more than 1 line in any "X" shaped piece. </p>
  
  <p>Roughly what I am doing:</p>
  
  <pre><code>#sharpen image using blur and unsharp method
  gaussian_1 = cv2.GaussianBlur(image, (9,9), 10.0)
  unsharp_image = cv2.addWeighted(image, 1.5, gaussian_1, -0.5, 0, image)
  #apply filter to find stamp pieces, histogram equalization on greyscale
  hist_eq = cv2.equalizeHist(unsharp_image)
  #edge detection (input,threshold1,threshold2,size_for_sobel_operator)
  edges = cv2.Canny(hist_eq,50,150,apertureSize = 3)
  #find lines (edges,min_pixels,min_degrees,min_intersections,lineLength,LineGap)
  lines = cv2.HoughLinesP(edges,1,np.pi/180,50,minLineLength,maxLineGap)
  </code></pre>
  
  <p>Only I'm applying this to each of the 9 sections of the board individually, but that's not really important.</p>
  
  <p>TLDR:
  How can I make my image so that my lines are "crisp" and sharp? I would like to know what I can use to make a stamped "X" look like a few lines. </p>