Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

//I need to code the parts with the sign *** but I dont know how to approach it.

ID: 3690357 • Letter: #

Question

//I need to code the parts with the sign *** but I dont know how to approach it.

typedef struct blob {
float old_x, old_y;
float posx, posy;
float vx, vy;
float rad;
int color;
bool valid;
bool delete_now;
} BLOB;

void BLOB_init(BLOB* b);
void BLOB_init(BLOB* b, int rad);
void BLOB_init(BLOB* b, int rad, int color);

// Take in a pointer to the blobs array. Iterate over the array
// and initialize each blob with BLOB_init(). Set the first blob to (for example) blue
// and the second blob to (for example) red. Set the color(s) of the food blobs however you like.
// Make the radius of the "player blobs" equal and larger than the radius of the "food blobs".
void generate_blobs(BLOB* blobs) {
// ***
}

Explanation / Answer

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

# Standard imports

import cv2

import numpy as np;

# Read image

im = cv2.imread("blob.jpg", cv2.IMREAD_GRAYSCALE)

# Set up the detector with default parameters.

detector = cv2.SimpleBlobDetector()

# Detect blobs.

keypoints = detector.detect(im)

# Draw detected blobs as red circles.

# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size of blob

im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

# Show keypoints

cv2.imshow("Keypoints", im_with_keypoints)

cv2.waitKey(0)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

# Standard imports

import cv2

import numpy as np;

# Read image

im = cv2.imread("blob.jpg", cv2.IMREAD_GRAYSCALE)

# Set up the detector with default parameters.

detector = cv2.SimpleBlobDetector()

# Detect blobs.

keypoints = detector.detect(im)

# Draw detected blobs as red circles.

# cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS ensures the size of the circle corresponds to the size of blob

im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

# Show keypoints

cv2.imshow("Keypoints", im_with_keypoints)

cv2.waitKey(0)