Skip to content

Commit 6d76a50

Browse files
author
harunlakodla
committed
houghcircle and hough line try and add for detection
1 parent 0da2246 commit 6d76a50

22 files changed

+595
-3
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ TODO:
2424

2525
- [ ] Filtering and Edge Detection:
2626
- [X] Gaussian blur: `GaussianBlur()`
27-
- [X] Gaussian blur: `Average()`
28-
- [X] Gaussian blur: `Bileteral()`
29-
- [X] Gaussian blur: `Average()`
27+
- [X] Average blur: `Average()`
28+
- [X] Bileteral blur: `Bileteral()`
29+
- [X] Average blur: `Average()`
3030
- [X] Median blur: `medianBlur()`
3131

3232
- [ ] Edge Detection:
3333
- [X] Edge detection: `Canny()`
3434
- [X] Laplace: `Laplace()`
35+
- [X] Sobel: `Sobel()`
3536

3637
- [ ] Geometric Transformations:
3738
- [ ] Perspective transformation: `warpPerspective()`

example/qrcode/barcode.png

2.81 KB
Loading

example/qrcode/barcode_code.jpg

1.84 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'dart:io';
2+
3+
import 'package:dart_opencv_sdk/src/qr_generator/barcode_generator.dart';
4+
import 'package:image/image.dart';
5+
6+
void main() {
7+
final barcodeGenerator = BarcodeGenerator();
8+
final barcodeData = '1234567890';
9+
10+
// // Barkod resmini base64 formatında döndürür
11+
// final base64Barcode = barcodeGenerator.generateBarcode(barcodeData);
12+
// print('Base64 Barcode: $base64Barcode');
13+
14+
// Barkod resmini dosyaya kaydeder
15+
final barcodeImage = barcodeGenerator.generateBarcodeImage(barcodeData,size: 256);
16+
final imagePath = 'barcode.png';
17+
File('barcode_code.jpg').writeAsBytesSync(encodeJpg(barcodeImage));
18+
print('Barcode saved to: $imagePath');
19+
}

example/qrcode/barcode_test.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import cv2
2+
import numpy as np
3+
4+
5+
def generate_barcode(barcode_data, size=256):
6+
barcode = np.ones((size, size, 3), dtype=np.uint8) * 255
7+
8+
barcode_size = size // (len(barcode_data) + 6)
9+
margin_size = barcode_size // 2
10+
gap_size = margin_size // 2
11+
12+
# Başlangıç işareti (beginning)
13+
barcode[:margin_size, :margin_size] = 0
14+
15+
# Sol kod (left code)
16+
for i in range(margin_size):
17+
barcode[margin_size:margin_size*2, i] = 0
18+
19+
# Üst kenar boşluğu
20+
barcode[:margin_size, margin_size:-margin_size] = 255
21+
22+
# Orta kısım (middle)
23+
for i, num in enumerate(barcode_data):
24+
if num == 1:
25+
x = (i % barcode_size) * barcode_size + margin_size * 2
26+
for j in range(barcode_size):
27+
y = ((i // barcode_size) + j) * barcode_size + margin_size * 2
28+
barcode[y:y-barcode_size, x:x+barcode_size-gap_size] = 0
29+
30+
# Çubuklar arası boşluk
31+
x_end = x + barcode_size - gap_size
32+
barcode[y:y-barcode_size, x_end:x_end+gap_size] = 255
33+
else:
34+
# Boş veri alanı
35+
x = (i % barcode_size) * barcode_size + margin_size * 2
36+
y = ((i // barcode_size) * barcode_size) + margin_size * 2
37+
barcode[y:y-barcode_size, x:x+barcode_size] = 255
38+
39+
# Sağ kod (right code)
40+
for i in range(margin_size):
41+
x = (len(barcode_data) % barcode_size) * barcode_size + margin_size * 2 + barcode_size - i - 1
42+
barcode[margin_size:margin_size*2, x] = 0
43+
44+
# Alt kenar boşluğu
45+
barcode[-margin_size:, margin_size:-margin_size] = 255
46+
47+
# Son işareti (end mark)
48+
barcode[-margin_size:, -margin_size:] = 0
49+
50+
return barcode
51+
52+
def save_barcode_image(barcode_img, file_path):
53+
cv2.imwrite(file_path, barcode_img)
54+
print('Barcode saved to:', file_path)
55+
56+
def convert_numeric_to_binary(num):
57+
binary_str = bin(num)[2:].zfill(4)
58+
return binary_str
59+
60+
61+
62+
def convert_numeric_to_binary_list(num):
63+
binary_str = convert_numeric_to_binary(num)
64+
binary_list = [int(bit) for bit in binary_str]
65+
return binary_list
66+
67+
68+
def main():
69+
barcode_data = int(input("Bir veri girin: "))
70+
barcode_data = convert_numeric_to_binary_list(barcode_data)
71+
print(barcode_data)
72+
barcode_img = generate_barcode(barcode_data, size=256)
73+
74+
if barcode_img is not None:
75+
file_path = 'barcode.png'
76+
save_barcode_image(barcode_img, file_path)
77+
else:
78+
print('Failed to generate barcode.')
79+
80+
if __name__ == '__main__':
81+
main()

example/qrcode/qr_code.jpg

1.6 KB
Loading

example/qrcode/qrcode_example.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import 'dart:io';
2+
3+
import 'package:dart_opencv_sdk/src/qr_generator/qrcode_generator.dart';
4+
import 'package:image/image.dart';
5+
6+
void main() {
7+
final qrCodeData = 'Hello, World!';
8+
9+
final qrCodeGenerator = QRCodeGenerator();
10+
final qrCodeImage = qrCodeGenerator.generateQRCodeImage(qrCodeData,size:48);
11+
12+
13+
print(qrCodeImage);
14+
15+
16+
File('qr_code.jpg').writeAsBytesSync(encodeJpg(qrCodeImage));
17+
}

example/transform/balls.png

5.93 KB
Loading

example/transform/balls2.png

29.4 KB
Loading
57.6 KB
Loading

0 commit comments

Comments
 (0)