Preheat the oven to 350 degrees.
Then, open the can of artichokes and drain them well. Then, place them on a cutting board and chop them up as finely as you can and set them aside.
In a large bowl, using a fork or whisk, mix together the eggs, vanilla extract, orange juice, orange zest, canola oil, vanilla extract, and almond extract.
In another bowl, sift the flour in, then mix in the granulated sugar, brown sugar, baking powder, baking soda, salt, cinnamon, cardamom, and ginger.
Then, mix the wet ingredients into the dry ingredients and mix well. Add in the chopped canned artichokes and fold until well incorporated.
Line either a 12-cup or 2x6 cup muffin/cupcake trays and spoon the artichoke cupcake batter into these.
Place in the oven that was preheated to 350 degrees.
Let bake for 18-20 minutes.
Remove tray from oven and let cupcakes cool to room temperature before frosting.
To make the frosting, place the thawed butter, icing sugar, and milk in a large bowl and mix with a handheld electric mixer. Then add in the salt and almond extract and mix well.
Pipe or dab the frosting onto the cupcakes and enjoy!