migrar el siguiente codigo de python a c# usando openCV def remove_lines(image_path,numero): image = cv2.imread(image_path) result = image.copy() gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] # Remove horizontal lines horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (50,1)) remove_horizontal = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2) cnts = cv2.findContours(remove_horizontal, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnts = cnts[0] if len(cnts) == 2 else cnts[1] for c in cnts: cv2.drawContours(result, [c], -1, (255,255,255), 5) # Remove vertical lines vertical_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1,50)) remove_vertical = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, vertical_kernel, iterations=2) #remove_vertical =cv2.dilate(remove_vertical , vertical_kernel, iterations=2) cnts = cv2.findContours(remove_vertical, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnts = cnts[0] if len(cnts) == 2 else cnts[1] for c in cnts: cv2.drawContours(result, [c], -1, (255,255,255), 5) cv2.imwrite(f"resultado{numero}.jpg", result) cv2.imshow("threshold", result) cv2.waitKey(0)
using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.Drawing; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Mat image = Cv2.ImRead("imagen.png"); Mat result = new Mat(); result = image.Clone(); Mat gray = new Mat(); Cv2.CvtColor(image, gray, ColorConversionCodes.BGR2GRAY); Mat thresh = new Mat(); Cv2.Threshold(gray, thresh, 0, 255, ThresholdTypes.BinaryInv | ThresholdTypes.Otsu); // Remove horizontal lines Mat horizontal_kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(50, 1)); Mat remove_horizontal = new Mat(); Cv2.MorphologyEx(thresh, remove_horizontal, MorphTypes.Open, horizontal