You have multiple options:
Option 1:
I understand that you have a lot of images, and the option 2 is not very suitable for your use case.
You can use the "Predictable File URLs" fonctionnality on your account. You can enable it by going to Setup > Platform Tools > Content Builder > Content Builder Settings
Since the image names are your users ids, each image would have a unique id. This way, you can predict your images urls and call them directly on your email using something similar to:
<img src="CONCAT('https://yourdomain.com/lib/',CONCAT(@SubscriberKey,'.png/jpeg/..'))"/>
By default, Content Builder generates a unique identifier for the
uploaded file's name. Predictable URLs use the uploaded file name as
the end of the URL path for the published file. This feature applies
only to files uploaded after enablement. Upload files with unique
filenames. Filenames can include alphanumeric characters, hyphens,
underscores, and periods.
Option 2:
You can use the ContentBlockByName
function.
Returns content contained in the specified stored content block or
code snippet from Content Builder, including the Image Block type.
Example:
%%=ContentBlockByName("Content Builder\Weekly Portfolio")=%%
You can use it with CONCAT('Content Builder\', _SubscriberKey)
to automate the selection of the image..
Keep in mind that this function will only work with an Image block and not with a simple Image:
Image type:

Image block type:

To create an image block, go to Content Builder > Create > Content Blocks > Image Block
Check out the documentation here:
https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-programmatic-content.meta/mc-programmatic-content/contentblockbyname.htm