One alternative is FILESTREAM. In this case you are still storing the images in SQL Server, but the images are actually stored transactionally in the file system, but logically still part of the database. For the best performance, you should use the OpenSqlFilestream API, but that adds extra complexity.
While your images are decently big, the limit when FILESTREAM pays off is usually given as 1 MB, so you are below that limit.
The other alternative is store the images in the file system and only store the file path in SQL Server. This may be faster, and reduces the size of the database. But in case of a disaster it can be difficult to make a consistent restore of file system and database.