Skip to content

Commit fe9701f

Browse files
committed
change in flippy bird game
1 parent 150e4ff commit fe9701f

File tree

5 files changed

+52
-12
lines changed

5 files changed

+52
-12
lines changed
Binary file not shown.

Docs_scanner_using_python/main.py

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,58 @@
2020
edged = cv2.Canny(blurred,30,50)
2121
#cv2.imshow("Canny",edged)
2222

23-
image,contours,hierarchy = cv2.findContours(edged,cv2.RETR_LIST,cv2.CHAIN_APPROX_NONE)
24-
contours = sorted(contours,key=cv2.contourArea,reverse=True)
23+
image, contours = cv2.findContours(edged, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
2524

26-
for c in contours:
27-
p = cv2.arcLength(c,True)
28-
approx = cv2.approxPolyDP(c,0.02*p,True)
25+
print(f"Total number of contours found: {len(contours)}")
2926

27+
valid_contours = []
28+
for i, c in enumerate(contours):
29+
print(f"Examining contour {i}")
30+
31+
# Check if the contour has any points
32+
if len(c) == 0:
33+
print(f"Contour {i} is empty")
34+
continue
35+
36+
# Try to calculate the area
37+
try:
38+
area = cv2.contourArea(c)
39+
print(f"Contour {i} area: {area}")
40+
41+
# Check if the area is valid
42+
if area > 10000: # Adjust this threshold as needed
43+
valid_contours.append((area, c))
44+
else:
45+
print(f"Contour {i} has too small area")
46+
except cv2.error as e:
47+
print(f"Error calculating area for contour {i}: {e}")
48+
49+
print(f"Number of valid contours found: {len(valid_contours)}")
50+
contours = sorted(valid_contours, key=lambda x: x[0], reverse=True)
51+
52+
if len(contours) > 0:
53+
# Get the largest contour
54+
_, largest_contour = contours[0]
55+
56+
# Approximate the polygon
57+
p = cv2.arcLength(largest_contour,True)
58+
approx = cv2.approxPolyDP(largest_contour,0.02*p,True)
59+
60+
# Check if it's a quadrilateral
3061
if len(approx) == 4:
3162
target = approx
32-
break
33-
approx = mapper.mapp(target)
63+
print("Found a quadrilateral contour")
64+
65+
# Apply perspective transform
66+
approx = mapper.mapp(target)
67+
pts= np.float32([[0,0],[800,0],[800,800],[0,800]])
68+
op = cv2.getPerspectiveTransform(approx,pts)
69+
dst = cv2.warpPerspective(orig,op,(800,800))
70+
cv2.imshow("Scanned final",dst)
71+
else:
72+
print(f"Found contour with {len(approx)} sides")
73+
else:
74+
print("No valid contours found")
3475

35-
pts= np.float32([[0,0],[800,0],[800,800],[0,800]])
36-
op = cv2.getPerspectiveTransform(approx,pts)
37-
dst = cv2.warpPerspective(orig,op,(800,800))
38-
cv2.imshow("Scanned final",dst)
76+
cv2.waitKey(0)
77+
cv2.destroyAllWindows()

Flippy bird/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pygame
22
import random #using to create random number
33
import sys
4-
import pygame.locals import * #pygame normal input
4+
import pygame.locals import *
55

66
#some global variables
77
FPS = 32
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.pdf
Binary file not shown.

0 commit comments

Comments
 (0)